Javascript中可以對所傳參數在函數內進行修改,如下
復制代碼 代碼如下:
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還是有能力把fun2調用時的參數給修改掉的,利用caller屬性
復制代碼 代碼如下:
function fun1() {
arguments.callee.caller.arguments[0] = 'lily';
}
function fun2(name) {
fun1.call(this,name);
alert(name);
}
fun2("jack");//輸出"lily"
新聞熱點
疑難解答
圖片精選