首页 > 代码库 > JavaScript模式 --- 札记
JavaScript模式 --- 札记
全局变量的问题
创建隐式全局变量的反模式是带有var声明的链式赋值。在下面的代码片段中, a 是局部变量, b 是全局变量,这也许并不是你想要的
function foo(){ var a = b = 0; //var a window.b; // ....
}
//造成上面的原因是源于从右至左的操作符优先级。首先,优先级较高的是表达式 b=0, 此时b未声明。表达式的返回值为0,它被赋给 var 声明的局部变量 a. /* 建议这样做 */ function foo(){ var a, b; // ... a = b = 0; // 均为全局变量 }
保留字
保留字不能被用来命名变量或参数,当保留字被用做对象字面量的键值时,它们必须被引号括起来。 它们不能被用在 . 点表示法中,所以有时候必须使用括号表示语法。
1 var method; // ok 2 var class; // 非法 3 object = {box: value}; // ok 4 object = {case: value}; // 非法 5 object = {case: value}; // ok 6 object.box = value; // ok 7 object.case = value; // 非法 8 object[‘case‘] = value // ok
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。