當我遇到這種情況時,我正在玩變量。我找不到這個原因。我想了解這一點。訪問Java Scipt對象的未聲明變量
下面給出了引用錯誤的例外,這是顯而易見的:
console.log(age);
但是當同樣的事情在對象上完成的,它不拋出任何類型的錯誤。它打印出「未定義」彷彿變量已經聲明:
var person = {};
console.log(person.age)
有趣的是,當您檢查「人」的對象,不存在「年齡」屬性。
我明白,我們可以直接對對象執行這樣的新屬性:
person.age = 3;
,因此可以爲全局或局部變量來實現:
a = 3
但儘管如此,分配或聲明之前訪問的東西應該拋出一個異常或錯誤,就像它發生在全局或局部作用域變量的情況下一樣。
嚴格模式可以防止「a = 3」全局刪除 –
*「但是,在分配或聲明**之前訪問某些內容時,應該像拋出全局或局部範圍變量時發生異常或錯誤一樣。 * - 那麼,「應該」是一個意見問題。對於對象的很多操作,它很方便,它*不會拋出錯誤,而是返回'undefined'。 – nnnnnn
@ VolkanSeçkinAkbayır:是的,我知道這一點。我正在問一些不同的東西。 – pragun