Как «использовать строгий» изменить правила для «этого» в 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.