WEB开发网
开发学院网页设计JavaScript JavaScript函数调用的四个规则 阅读

JavaScript函数调用的四个规则

 2010-09-14 13:41:44 来源:WEB开发网   
核心提示: 你可能会质疑:为什么原始的函数定义并没有改变,而this却变化了呢?非常好,有质疑是正确的,JavaScript函数调用的四个规则(2),这里涉及到 函数在JavaScript中传递的方式,函数在JavaScript 里是一个标准的数据类型,确切的说是一个对象.你可以传递它们或者复制他们.

你可能会质疑:为什么原始的函数定义并没有改变,而this却变化了呢?

非常好,有质疑是正确的。这里涉及到 函数在JavaScript中传递的方式, 

函数在JavaScript 里是一个标准的数据类型,

确切的说是一个对象.你可以传递它们或者复制他们.

就好像整个函数连带参数列表和函数体都被复制,

且被分配给了 arrayMaker 里的属性 make,那就好像这样定义一个 arrayMaker :

var arrayMaker = { 
someProperty: 'some value here', 
make: function (arg1, arg2) { 
return [ this, arg1, arg2 ]; 
} 
};

如果不把调用规则二 弄明白,那么在事件处理代码中 经常会遇到各种各样的bug,举个例子:

 ﹤input type="button" value="Button 1" id="btn1"  /﹥ 
﹤input type="button" value="Button 2" id="btn2"  /﹥ 
﹤input type="button" value="Button 3" id="btn3"  onclick="buttonClicked();"/﹥ 
﹤ script type="text/javascript"﹥ 
function buttonClicked(){ 
var text = (this === window) ? 'window' : this.id; 
alert( text ); 
} 
var button1 = document.getElementById('btn1'); 
var button2 = document.getElementById('btn2'); 
button1.onclick = buttonClicked; 
button2.onclick = function(){    
buttonClicked();    
}; 
﹤ /script﹥

上一页  1 2 3 4  下一页

Tags:JavaScript 函数 调用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接