欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解Javascript動態(tài)方法調用與參數(shù)修改的問題

 更新時間:2013年12月10日 08:49:12   作者:  
這篇文章主要是對Javascript動態(tài)方法調用與參數(shù)修改的問題進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助

Javascript中可以對所傳參數(shù)在函數(shù)內進行修改,如下

復制代碼 代碼如下:

function func1(name) {
    name = 'lily';
    alert(name);
}
func1('jack');//輸出lily

再看一個例子
復制代碼 代碼如下:

function fun1(n) {
    this.name = n;
}
function fun2(name) {
    fun1.call(this,'lily');
    alert(name);
}
fun2("jack");//輸出"jack"

fun1函數(shù)想把fun2調用時的參數(shù)修改為“l(fā)ily”,但沒有成功。彈出的仍然是“jack”。思考下為什么?

實際上fun1還是有能力把fun2調用時的參數(shù)給修改掉的,利用caller屬性

復制代碼 代碼如下:

function fun1() {
    arguments.callee.caller.arguments[0] = 'lily';
}
function fun2(name) {
    fun1.call(this,name);
    alert(name);
}
fun2("jack");//輸出"lily"

可見,外層函數(shù)對于內層函數(shù)的調用棧是可見的,可修改的。

相關文章

最新評論