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

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

問題如圖所示:

clipboard.png

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

回答
編輯回答
悶騷型

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

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

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

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

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

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

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

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

更多信息點擊這里了解

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

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

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

2018年4月16日 14:14