我在Javascript下面的代碼,這和預期一樣:JavaScript的未定義的錯誤隱性的全球
myFunc = n => {
for (i = 0; i < n.length; i++) {
c = n[i];
if (!k) {
k = initialValue
}
}
}
我改變了for
環路forEach
如下:
myFunc = n => {
n.forEach(c => {
if (!k) {
k = initialValue
}
})
}
當我嘗試執行此代碼,我收到以下錯誤消息:
ReferenceError: k is not defined
我是能夠通過添加全局聲明來修復它var k
,但我很好奇爲什麼第一組代碼是可以接受的,但forEach不是。
編輯修正這兩個例子中第7行的錯誤。並取消第二個例子。
你能提供一個jsFiddle嗎? – snit80
第一個例子有太多的括號(第7行)是有效的JS。 – TylerY86
對第一行第七行進行更正後運行這兩個示例給出'Uncaught ReferenceError:k is not defined'。 – TylerY86