深入理解Javascript動(dòng)態(tài)方法調(diào)用與參數(shù)修改的問(wèn)題
更新時(shí)間:2013年12月10日 08:49:12 作者:
這篇文章主要是對(duì)Javascript動(dòng)態(tài)方法調(diào)用與參數(shù)修改的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(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實(shí)現(xiàn)的二級(jí)橫向菜單條實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)的二級(jí)橫向菜單條,是非常美觀簡(jiǎn)潔的二級(jí)導(dǎo)航條效果,可實(shí)現(xiàn)針對(duì)鼠標(biāo)事件的動(dòng)態(tài)響應(yīng)及頁(yè)面樣式切換功能,簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08
關(guān)于Vue中postcss-pxtorem的使用詳解
在Web開發(fā)領(lǐng)域,響應(yīng)式設(shè)計(jì)已經(jīng)成為一個(gè)不可或缺的趨勢(shì),PostCSS插件——postcss-pxtorem的出現(xiàn)為我們提供了一種更加智能和高效的解決方案,本文將深入探討postcss-pxtorem的使用,包括其背后的原理、配置選項(xiàng)、實(shí)際應(yīng)用中的注意事項(xiàng)等方面,需要的朋友可以參考下2023-12-12
localStorage過(guò)期時(shí)間設(shè)置的幾種方法
聊到localStorage想必熟悉前端的朋友都不會(huì)陌生,在實(shí)際的應(yīng)用場(chǎng)景中,我們往往需要讓localStorage設(shè)置的某個(gè)key能在指定時(shí)間內(nèi)自動(dòng)失效,所以基于這種場(chǎng)景,我們?nèi)绾稳ソ鉀Q呢,本文就詳細(xì)的介紹一下2021-12-12
JS實(shí)現(xiàn)輸入框提示文字點(diǎn)擊時(shí)消失效果
這篇文章主要介紹了JS實(shí)現(xiàn)輸入框提示文字點(diǎn)擊時(shí)消失效果,涉及javascript針對(duì)鼠標(biāo)的響應(yīng)及事件監(jiān)聽機(jī)制相關(guān)技巧,需要的朋友可以參考下2016-07-07
js點(diǎn)擊事件的執(zhí)行過(guò)程實(shí)例分析【冒泡與捕獲】
這篇文章主要介紹了js點(diǎn)擊事件的執(zhí)行過(guò)程,結(jié)合實(shí)例形式分析了js事件機(jī)制中的冒泡與捕獲相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-04-04

