鍍金池/ 問(wèn)答/PHP  HTML/ JavaScript參數(shù)是何時(shí)、如何定義的?

JavaScript參數(shù)是何時(shí)、如何定義的?

問(wèn)題如圖所示:

clipboard.png

定義一個(gè)函數(shù),函數(shù)的形參為arg,運(yùn)行函數(shù)時(shí),打印這個(gè)參數(shù),返回的結(jié)果為undefined,這說(shuō)
明,參數(shù)arg在函數(shù)中已經(jīng)聲明,但是沒(méi)有被賦值,所以才會(huì)輸出undefined。我想知道的是,這個(gè)
參數(shù)是何時(shí)被定義的以及如何被定義的,如果給test函數(shù)傳遞一個(gè)實(shí)參,那么實(shí)參的值是如何傳遞給這個(gè)形參的?沒(méi)有有關(guān)于函數(shù)參數(shù)的規(guī)范標(biāo)準(zhǔn)可以查閱?

回答
編輯回答
悶騷型

就是調(diào)用test3()時(shí)定義的。只是你沒(méi)有傳參,所以是undefined

2018年6月17日 07:17
編輯回答
萌面人

搜js執(zhí)行上下文
https://segmentfault.com/a/11...

2017年12月20日 02:47
編輯回答
若相惜

是在變量對(duì)象被創(chuàng)建的時(shí)候定義的。
變量對(duì)象的創(chuàng)建過(guò)程分為:

  1. 建立arguments對(duì)象。檢查當(dāng)前上下文中的參數(shù),建立該對(duì)象下的屬性與屬性值。

  2. 檢查當(dāng)前上下文的函數(shù)聲明,也就是使用function關(guān)鍵字聲明的函數(shù)。在變量對(duì)象中以函數(shù)名建立一個(gè)屬性,屬性值為指向該函數(shù)所在內(nèi)存地址的引用。如果函數(shù)名的屬性已經(jīng)存在,那么該屬性將會(huì)被新的引用所覆蓋。

  3. 檢查當(dāng)前上下文中的變量聲明,每找到一個(gè)變量聲明,就在變量對(duì)象中以變量名建立一個(gè)屬性,屬性值為undefined。如果該變量名的屬性已經(jīng)存在,為了防止同名的函數(shù)被修改為undefined,則會(huì)直接跳過(guò),原屬性值不會(huì)被修改。

更多信息點(diǎn)擊這里了解

希望我的回答能幫助到您^_^

2017年7月30日 09:26
編輯回答
伴謊

這個(gè)arg參數(shù)是你創(chuàng)建函數(shù)的時(shí)候定義的啊,你是在問(wèn)JS底層怎么運(yùn)行吧?

2018年4月16日 14:14