国产探花免费观看_亚洲丰满少妇自慰呻吟_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"

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广水市| 香格里拉县| 宕昌县| 珲春市| 永川市| 叙永县| 江达县| 报价| 赞皇县| 广德县| 金沙县| 玉龙| 深泽县| 三原县| 开封县| 海丰县| 邵东县| 崇明县| 新营市| 湖州市| 顺义区| 宜春市| 关岭| 威宁| 河北省| 东丽区| 北京市| 闻喜县| 武义县| 伊春市| 七台河市| 扶风县| 景东| 稻城县| 沐川县| 绥中县| 德阳市| 青河县| 和林格尔县| 深水埗区| 洪洞县|