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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:57:32
字體:
來源:轉載
供稿:網友
這篇文章主要是對Javascript動態方法調用與參數修改的問題進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助

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"


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 勃利县| 奉新县| 桑植县| 白山市| 河池市| 大宁县| 岢岚县| 土默特左旗| 邢台县| 屏边| 馆陶县| 开鲁县| 台前县| 龙里县| 郴州市| 甘谷县| 交城县| 革吉县| 清丰县| 龙井市| 青河县| 阳山县| 汤阴县| 阿拉善盟| 台南市| 赤壁市| 黄平县| 新宾| 厦门市| 汨罗市| 彝良县| 措勤县| 株洲县| 邯郸市| 惠水县| 汾西县| 同心县| 来宾市| 隆尧县| 凤阳县| 惠州市|