淺析JavaScript事件和方法
單擊一個超鏈接觸發(fā)事件
1.用a標(biāo)簽的onclick
<a href="#" onclick="js代碼">
這種寫法呢,存在一種弊端,就是點(diǎn)擊后會刷新一次頁面,回到頁面頂端。
想不刷新如何做的呢?
<a href="javascript:void(0)" onclick="js代碼">
2.#與javascript:void(0)的區(qū)別
超鏈接為“死鏈”時,使用#與javascript:void(0);的區(qū)別。
Void(0)沒有用的值,不會去任何地方,就沒有意義了
而#會刷新一次當(dāng)前頁面。
3.再或者、用a標(biāo)簽的href
<a href="javascript: js代碼 ">
只有超鏈接的href中的JavaScript中才需要加“javascript:”,
因?yàn)樗皇鞘录?,而是把”javascript:”看成像“http:”、“ftp:”、“thunder://”、“ed2k://”、“mailto:”一樣的網(wǎng)絡(luò)協(xié)議,交由js解析引擎處理。
方法的特別強(qiáng)調(diào)
1.不要另起一行
一般在js中編寫大括號都是直接跟在后面而不要另起一行,
原因是js會在語句末尾自動增加”分號”,如果將大括號另起一行,則return語句后自動增加“分號”后,返回值就變成了undefined了。
2.不需要聲明返回值類型
不需要聲明返回值類型、參數(shù)類型。函數(shù)定義以function開頭。
JavaScript中不像C#和java那樣要求所有路徑都有返回值沒有返回值就是undefined。
3.沒有方法重載
JavaScript中沒有方法重載。
方法中寫參數(shù)叫命名參數(shù)
用戶調(diào)用計(jì)算多個數(shù)的和的方法,如何獲取方法中有多少個參數(shù)呢?
請使用arguments對象!
匿名函數(shù)
1.方式一
var f1=function(p1,p2){ return p1+p2; };//將函數(shù)賦值給一個變量
匿名函數(shù)沒法調(diào)用,只能賦值給一個變量,由于是賦值語句,后面要加分號
應(yīng)用:
document.getElementById(‘btn').onclick=function(){}
2.方式二
(function(p1,p2){alert(p1+p2);})(20,30);
3.方式三
var m1=new Function(“p1”,”p2”,”p3”,”return p1+p2+p3”);
alert(m1(1,2,3));性能低
這種匿名函數(shù)的用法在jQuery中的非常多
擴(kuò)展方法prototype
通過類對象的prototype設(shè)置擴(kuò)展方法,
擴(kuò)展方法的聲明要在使用擴(kuò)展方法之前執(zhí)行。JS的函數(shù)沒有專門的函數(shù)默認(rèn)值的語法,但是可以不給參數(shù)傳值,不傳值的參數(shù)值就是undefined,自己做判斷來給默認(rèn)值。
var msg ='xiaoming@111.com';
String.prototype.isEmail = function(){
return this.indexof('@')!= -1 ?true:false;
};
alert(msg.isEmail);
事件
1.調(diào)用事件

2.注冊事件
一定是在頁面加載完成了以后,才能給頁面的元素注冊事件。
所以 onload = function(){
//在這里注冊事件
};

頁面加載事件
<script type="text/javascript">
//刷新
//location.reload();
onload=function(){
alert("頁面加載了");
};
onunload =function(){
alert("頁面關(guān)閉了");
};
onbeforeunload= function(){
alert("頁面關(guān)閉之前觸發(fā)");
};
</script>

以上就是本文的全部內(nèi)容了,希望能夠讓大家對javascript的事件和方法有新的認(rèn)識
相關(guān)文章
js+css3實(shí)現(xiàn)旋轉(zhuǎn)效果
本文主要介紹了js+css3實(shí)現(xiàn)旋轉(zhuǎn)效果的方法。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01
使用js實(shí)現(xiàn)一個可編輯的select下拉列表
這篇文章主要介紹了使用js實(shí)現(xiàn)一個可編輯的select下拉列表,個人感覺還不錯,需要的朋友可以參考下2014-02-02
RGB顏色值轉(zhuǎn)HTML十六進(jìn)制(HEX)代碼的JS函數(shù)
轉(zhuǎn)到固定長度的十六進(jìn)制字符串,不夠則補(bǔ)0 javascript找出一個背景色的數(shù)值,只好自己解析2009-04-04
詳解js location.href和window.open的幾種用法和區(qū)別
這篇文章主要介紹了詳解js location.href和window.open的幾種用法和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
淺析JS中常用類型轉(zhuǎn)換及運(yùn)算符表達(dá)式
這篇文章主要介紹了關(guān)于JS中涉及的常用類型轉(zhuǎn)換及運(yùn)算符表達(dá)式 ,包括js中常用類型轉(zhuǎn)換,及常用的運(yùn)算符表達(dá)式,需要的朋友可以參考下2017-07-07
js實(shí)現(xiàn)StringBuffer的簡單實(shí)例
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)StringBuffer的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
JavaScript使用canvas實(shí)現(xiàn)flappy bird全流程詳解
這篇文章主要介紹了JavaScript使用canvas實(shí)現(xiàn)flappy bird流程,canvas是HTML5提供的一種新標(biāo)簽,它可以支持JavaScript在上面繪畫,控制每一個像素,它經(jīng)常被用來制作小游戲,接下來我將用它來模仿制作一款叫flappy bird的小游戲2023-03-03

