编写js需注意的几项规则

1、总是使用var声明变量。如function fun() { var i = 0; }等,否则变量i会变成全局变量;

2、常量使用诸如NAME_LIKE_THIS进行命名;

3、ECMAScript建议使用块声明函数,因为ECMAScript只允许在根语句(如<script></script>中)声明函数,如

      if(x) {

           var i = function() {...};

      }

而非使用

      if(x) {

           function() {...}

      }

4、避免使用包装类型声明原始的数据类型

较好的方式:
var x = Boolean(0);
if (x) {
  alert('hi');  // This will never be alerted.
}
较差的方式:
var x = new Boolean(false); 因为false是一个对象,对象转换成boolean型数据时,会转换成true,除了null和undefied对象之外。
if (x) {
  alert('hi');  // Shows 'hi'.
}

5、尽量避免使用delete删除对象的属性,使用赋null的方式,因为使用重新分配值的方式性能较快,同时使用delete需要避免操作工程中出现异常

较好的实现方式:
Foo.prototype.dispose = function() {
  this.property_ = null;
};
较差的实现方式:
Foo.prototype.dispose = function() {
  delete this.property_;
};

6、尽量避免使用eval(),因为eval()容易造成语义混乱,建议使用JSON代替

{
  "name": "Alice",
  "id": 31502,
  "email": "looking_glass@example.com"
}
var userInfo = eval(feed);
var email = userInfo['email'];
var userInfo = JSON.parse(feed);
var email = userInfo['email'];

7、尽量避免使用for-in进行循环,使用原生态的for(...;...;...)代替,因为for-in循环时会查询原型里的属性,速度慢;

8、构建数组对象时,尽量使用Object代替Array数组

var a1 = new Array(x1, x2, x3);
var a = [x1, x2, x3]; //使用Object构建数组对象

9、尽可能延迟变量的初始化(为变量赋值);

10、声明字符串时,使用'代替",方便对HTML进行声明;

文章载自:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值