深入理解Javascript動(dòng)態(tài)方法調(diào)用與參數(shù)修改的問題
更新時(shí)間:2013年12月10日 08:49:12 作者:
這篇文章主要是對(duì)Javascript動(dòng)態(tài)方法調(diào)用與參數(shù)修改的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
Javascript中可以對(duì)所傳參數(shù)在函數(shù)內(nèi)進(jìn)行修改,如下
復(fù)制代碼 代碼如下:
function func1(name) {
name = 'lily';
alert(name);
}
func1('jack');//輸出lily
再看一個(gè)例子
復(fù)制代碼 代碼如下:
function fun1(n) {
this.name = n;
}
function fun2(name) {
fun1.call(this,'lily');
alert(name);
}
fun2("jack");//輸出"jack"
fun1函數(shù)想把fun2調(diào)用時(shí)的參數(shù)修改為“l(fā)ily”,但沒有成功。彈出的仍然是“jack”。思考下為什么?
實(shí)際上fun1還是有能力把fun2調(diào)用時(shí)的參數(shù)給修改掉的,利用caller屬性
復(fù)制代碼 代碼如下:
function fun1() {
arguments.callee.caller.arguments[0] = 'lily';
}
function fun2(name) {
fun1.call(this,name);
alert(name);
}
fun2("jack");//輸出"lily"
可見,外層函數(shù)對(duì)于內(nèi)層函數(shù)的調(diào)用棧是可見的,可修改的。
相關(guān)文章
JS+CSS實(shí)現(xiàn)模仿瀏覽器網(wǎng)頁字符查找功能的方法
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)模仿瀏覽器網(wǎng)頁字符查找功能的方法,實(shí)例分析了javascript實(shí)現(xiàn)查找功能的樣式及相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02微信小程序頁面調(diào)用自定義組件內(nèi)的事件詳解
這篇文章主要介紹了微信小程序頁面調(diào)用自定義組件內(nèi)的事件詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09基于JavaScript實(shí)現(xiàn)瀑布流效果
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)瀑布流效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03layui中select,radio設(shè)置不生效的解決方法
今天小編就為大家分享一篇layui中select,radio設(shè)置不生效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09