[英]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.