首页 > 编程语言 > 详细

JavaScript模式 --- 札记

时间:2014-05-28 02:25:05      阅读:418      评论:0      收藏:0      [点我收藏+]

全局变量的问题

创建隐式全局变量的反模式是带有var声明的链式赋值。在下面的代码片段中, a 是局部变量, b 是全局变量,这也许并不是你想要的

bubuko.com,布布扣
function foo(){
  var a = b = 0; //var a   window.b;

  // ....
}

//造成上面的原因是源于从右至左的操作符优先级。首先,优先级较高的是表达式 b=0, 此时b未声明。表达式的返回值为0,它被赋给 var 声明的局部变量 a.
/* 建议这样做 */ function foo(){   var a, b;   // ...   a = b = 0; // 均为全局变量 }
bubuko.com,布布扣

 

保留字

保留字不能被用来命名变量或参数,当保留字被用做对象字面量的键值时,它们必须被引号括起来。 它们不能被用在 . 点表示法中,所以有时候必须使用括号表示语法。

bubuko.com,布布扣
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
bubuko.com,布布扣

 

JavaScript模式 --- 札记,布布扣,bubuko.com

JavaScript模式 --- 札记

原文:http://www.cnblogs.com/juhualang/p/3753625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!