国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

深入理解Javascript動態方法調用與參數修改的問題

2019-11-20 21:29:57
字體:
來源:轉載
供稿:網友

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調用時的參數修改為“lily”,但沒有成功。彈出的仍然是“jack”。思考下為什么?

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

復制代碼 代碼如下:

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 子长县| 淮南市| 禄劝| 广汉市| 出国| 南城县| 磐石市| 金溪县| 壶关县| 蒲城县| 桐庐县| 扎赉特旗| 贵港市| 海盐县| 韩城市| 平武县| 吴江市| 门头沟区| 廊坊市| 三台县| 元氏县| 永兴县| 玛多县| 扬州市| 焉耆| 大田县| 辛集市| 河曲县| 定边县| 新巴尔虎右旗| 资中县| 南京市| 宁武县| 威远县| 石家庄市| 确山县| 鹤庆县| SHOW| 文水县| 从江县| 井研县|