簡體   English   中英

無法理解javascript函數的輸出

[英]Not able to understand the output of javascript function

我得到5作為以下代碼的輸出

 function myfunction1(){ number = 5; } function myfunction(number){ number = number + 10; } myfunction1(); myfunction(number); console.log(number); 

我期望對number拋出參考錯誤。 如果有人可以解釋這種行為那就太好了。

通過從不聲明number ,javascript解釋器將number評估為全局變量。

如果您這樣做:

 function myfunction1(){ var number = 5; } function myfunction(number){ number = number + 10; } myfunction1(); myfunction(number); console.log(number); 

這應該引發一個錯誤,因為現在, number=5僅在myfunction1內部為真

因為全局變量和函數參數的名稱相同,所以您要分配給參數。

這應該工作。

 let number; function myfunction1(){ number = 5; } function myfunction(n){ number = n + 10; } myfunction1(); myfunction(number); console.log(number); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM