Как «использовать строгий» изменить правила для «этого» в Javascript?
Я пытаюсь понять, какое правило для «этого», что «использовать строгое»; модифицируется в приведенном ниже случае.
После прочтения (http://unschooled.org/2012/03/understanding-javascript-this/) мое лучшее предположение заключается в том, что поскольку функция isctrictModeOn () не связана с чем-либо, это относится к нулю. Предполагается, что это более разумная альтернатива Javascript, просто присоединяющая this к глобальному объекту. Это правильное толкование изменения, которое делает «использовать строгое» в этом случае?
http://www.novogeek.com/post/ECMAScript-5-Strict-mode-support-in-browsers-What-does-this-mean.aspx
function isStrictMode(){
return !this;
}
//returns false, since 'this' refers to global object and '!this' becomes false
function isStrictModeOn(){
"use strict";
return !this;
}
//returns true, since in strict mode, the keyword 'this' does not refer to global object, unlike traditional JS. So here,'this' is null and '!this' becomes true.