歡迎回來，在之前的視頻中我們得知，當關鍵字這不是一個聲明的對象內它的值是全局對象。
讓我們快速演示一下我所聲明的對象意味著萬一前面的視頻還是給你留了一點困惑。
記住這裡的材料是相當具有挑戰性。
因此，嘗試觀看這些視頻了幾次，然後鍵入代碼示例，以加強你的知識。
我要創建一個名為數據的空對象。
我剛才做了聲明一個對象的數據對象並不存在，直到我宣布它。
現在，我要一個屬性附加到這個對象調用教師和設置為LTE的價值。
現在，我們的數據對象，我們宣布與elhi的它裡面的價值的關鍵。
這就是我們的意思，當我們聲明的對象裡說。
如果仍然迷惑你，沒關係。
當我們檢查第二條規則它將使更多的意義，看到了這個關鍵字的對象內。
現在，讓我們完成了第一條規則。
正如你可以在這裡看到，當我們把關鍵字函數這裡面它的價值仍是全局對象。
還記得我們說，全球規則適用，除非這是一個聲明的對象內的關鍵字，但它現在是一個函數內部。
所以，當我們調用函數，這是什麼返回的值是窗口對象。
現在，讓我們來看看最後一個例子。
如果我們附加屬性來此當其值是全局對象的關鍵字，會發生什麼。
請記住，當我說全局對象我的意思是在不同的JavaScript環境的窗口對象。
這個值將發生變化。
但由於我們在瀏覽器中的全局對象是window對象。
現在，讓我們在這個函數的變量，這個函數來看看我們的變量。
我們正在連接屬性到關鍵字這款名為Person和設置它等於艾莉。
由於關鍵字this指的是全局對象什麼我們重視到它成為一個全局變量，這意味著我們可以使用它的功能之外。
這可能看起來像的東西，我們可能想要做但其實這是非常不好的做法。
讓我們快速重溫如何變量和範圍工作的JavaScript。
我要聲明一個變量叫的狗說等於生鏽的價值。
那麼我要做一個叫做溫柔的人內部函數聲明使用var關鍵字叫人變量，並說這等於代碼。
自從我宣布函數中這個變量，我不回它的價值，我不具備的功能之外訪問它。
但是自從我宣布我的狗變量在全球範圍內我可以訪問它無處不在。
現在，我們可以避開不能夠省去我們的函數內部var關鍵字來訪問我們的人變的問題。
然而，這是非常不好的做法。
這是宣布所有的變量，我們希望在我們的代碼頂部的多種功能使用，即使他們沒有一個值，然後在函數以後分配這些值一般最佳實踐。
不幸的是，因為關鍵字this就是全局對象它很容易不小心聲明函數內的全局變量。
讓我們來看一個例子。
我打算做一個函數調用錯誤內部設置屬性的關鍵字這家名為壞主意等於字符串。
哎呦。
現在我要調用該函數，我們可以看到，我有機會到我的壞主意變量。
我不小心剛剛作出了一個全局變量。
值得慶幸的是在5以前版本的JavaScript的一些所謂的嚴格模式加入來幫助我們。
JavaScript開發人員更好地閱讀時，啟用嚴格模式應對。
您可以通過添加使用嚴格的雙引號括起來做。
該關鍵字的值這個當函數內是不確定的。
這不是全局對象。
這意味著，如果我們嘗試將其附著性能上它，我們得到一個類型錯誤。
既然我們不能附加屬性未定義你可能已經看到了這個錯誤不少。
這阻止我們意外創建全局變量，使我們能夠使用JavaScript的最佳實踐。
在這段視頻中，我們回顧了第一條規則確定這個關鍵字，看到我們如何能意外的函數中創建全局變量。
我們也看到了嚴格模式如何能阻止我們在未來的視頻犯這種錯誤。