据我了解,当一个变量被定义时,它会通过this
.
如果本地没有设置范围,则最近的范围变为window
.
然而,在严格模式下,本地范围设置为 undefined 而不是window
,作为 ECMAscript 5 规范的一部分,旨在限制对全局范围的滥用。
使用立即调用的函数表达式模式和严格模式来创建 jQuery 插件
;( function( $, window ){
"use strict";
var myScope = this;
var myVar = 1;
var myFunction = function(){
console.log( myScope, myVar );
}
$.myFunc = myFunction;
})( jQuery, window );
本地范围(上下文)未创建(通过函数调用),因此设置为未定义。
如果本地作用域是未定义且未window.myVar
定义的,那么变量的作用域是什么myVar
,如何访问它?