最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js函數(shù)調(diào)用常用方法詳解

 更新時間:2012年12月03日 16:21:18   投稿:whsnow  
js的函數(shù)調(diào)用會免費奉送兩個而外的參數(shù)就是 this 和 arguments,我們所知道的應該有4中調(diào)用方式吧,接下來將為您詳細介紹,感興趣的朋友可以參考下

來源 javascript語言精粹。這不是書上的源代碼。
js的函數(shù)調(diào)用會免費奉送兩個而外的參數(shù)就是 this 和 arguments 。arguments是參數(shù)組,他并不是一個真實的數(shù)組,但是可以使用.length方法獲得長度。
書上有說4中調(diào)用方式:
方法調(diào)用模式
函數(shù)調(diào)用模式
構造器調(diào)用模式
apply調(diào)用模式

下面我們來看看一些實例更好理解。
1:方法調(diào)用模式
請注意this此時指向myobject。

復制代碼 代碼如下:

/*方法調(diào)用模式*/
var myobject={
value:0,
inc:function(){
alert(this.value)
}
}
myobject.inc()

2:函數(shù)調(diào)用模式
請注意this此時指向window。
復制代碼 代碼如下:

/*函數(shù)調(diào)用模式*/
var add=function(a,b){
alert(this)//this被綁頂?shù)絯indow
return a+b;
}
var sum=add(3,4);
alert(sum)

3:構造器調(diào)用模式
javascript語言精粹一書建議摒棄這中方式。因為有更好的方式。這里先不介紹。下次發(fā)表博文的時候貼出來。
會在這里加一個連接。
復制代碼 代碼如下:

/*構造器調(diào)用模式 摒棄*/
var quo=function(string){
this.status=string;
}
quo.prototype.get_status=function(){
return this.status;
}
var qq=new quo("aaa");
alert(qq.get_status());

4:apply調(diào)用模式
==我們可以來看一個更有用的apply實例??醋钕旅娴拇a。
復制代碼 代碼如下:

/*apply*/
//注意使用了上面的sum函數(shù)
//與myobject
//這中調(diào)用方式的優(yōu)點在于可以指向this指向的對象。
//apply的第一個參數(shù)就是this指針要指向的對象
var arr=[10,20];
var sum=add.apply(myobject,arr);
alert(sum);

看這個apply真正應用。bind這是一個綁定時間的函數(shù)。
復制代碼 代碼如下:

var bind=function(object,type,fn){
if(object.attachEvent){//IE瀏覽器
object.attachEvent("on"+type,(function(){
return function(event){
window.event.cancelBubble=true;//停止時間冒泡
object.attachEvent=[fn.apply(object)];//----這里我要講的是這里
//在IE里用attachEvent添加一個時間綁定以后。
//this的指向不是到object對象本身所以。我們綁定的function里的this.id是無法工作的。
//但是如果我們用fn.apply(object)
//這里可以看出我們是把apply的第一個對象也就是this的指向變更給了object所以this.id就變成了
//object.id 可以正常工作了。
}
})(object),false);
}else if(object.addEventListener){//其他瀏覽器
object.addEventListener(type,function(event){
event.stopPropagation();//停止時間冒泡
fn.apply(this)
});
}
}
bind(document.getElementById("aaa"),"click",function(){alert(this.id)});

相關文章

  • js關于字符長度限制的問題示例探討

    js關于字符長度限制的問題示例探討

    字符長度限制在某些特殊的使用場合還是比較實用的,下面為大家用示例探討下,感興趣的朋友可以參考下
    2014-01-01
  • 一篇文章讓你徹底弄懂JS的事件冒泡和事件捕獲

    一篇文章讓你徹底弄懂JS的事件冒泡和事件捕獲

    這篇文章主要介紹了一JS的事件冒泡和事件捕獲,通過代碼舉例詳細描述了兩者之間的差別,需要的朋友可以參考下
    2017-08-08
  • 詳解JavaScript中的表單驗證

    詳解JavaScript中的表單驗證

    這篇文章主要介紹了JavaScript中的表單驗證,是JS在前端和服務器端通信部分相關的重要知識,需要的朋友可以參考下
    2015-06-06
  • 深入理解 JS 垃圾回收

    深入理解 JS 垃圾回收

    JS的垃圾回收機制是為了以防內(nèi)存泄漏,內(nèi)存泄漏的含義就是當已經(jīng)不需要某塊內(nèi)存時這塊內(nèi)存還存在著,垃圾回收機制就是間歇的不定期的尋找到不再使用的變量,并釋放掉它們所指向的內(nèi)存。下面我們來一起深入學習一下吧
    2019-06-06
  • JavaScript中的getTime()方法使用詳解

    JavaScript中的getTime()方法使用詳解

    這篇文章主要介紹了JavaScript中的getTime()方法使用詳解,是JS入門學習中的基礎知識,需要的朋友可以參考下
    2015-06-06
  • MVC+Layui彈出表單模態(tài)框的實現(xiàn)代碼

    MVC+Layui彈出表單模態(tài)框的實現(xiàn)代碼

    這篇文章主要介紹了MVC+Layui彈出表單模態(tài)框的實現(xiàn)代碼,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 詳解JavaScript中的變量命名規(guī)范

    詳解JavaScript中的變量命名規(guī)范

    程序員三大難題:變量命名、緩存失效、循環(huán)邊界。這篇文章主要為大家介紹了JavaScript中的變量命名規(guī)范,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-12-12
  • 深入理解JavaScript中的對象復制(Object Clone)

    深入理解JavaScript中的對象復制(Object Clone)

    下面小編就為大家?guī)硪黄钊肜斫釰avaScript中的對象復制(Object Clone)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 使用原生JS獲取select元素選中的value和text值

    使用原生JS獲取select元素選中的value和text值

    這篇文章介紹了使用原生JS獲取select元素選中的value和text值,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • setTimeout和setInterval的深入理解

    setTimeout和setInterval的深入理解

    以前寫的setTimeout和setInterval的文章有些不足之處,今天抽時間整理了一下,要想真正理解還得從javascript的單線程機制說起
    2013-11-11

最新評論

长武县| 丘北县| 葵青区| 麦盖提县| 柯坪县| 双桥区| 阿图什市| 宝应县| 南开区| 金门县| 阳新县| 南昌县| 南通市| 麻城市| 巴彦淖尔市| 利辛县| 托克托县| 景谷| 西吉县| 都兰县| 临高县| 利川市| 黔东| 海南省| 新河县| 沙湾县| 厦门市| 双桥区| 图们市| 达日县| 青川县| 安西县| 宽城| 卢龙县| 西峡县| 哈巴河县| 孝义市| 大埔区| 明星| 崇礼县| 长武县|