码迷,mamicode.com
首页 > Web开发 > 详细

非正式js语法

时间:2014-07-19 16:29:46      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   java   color   使用   

有一种格式化的变种(该变种没有通过JSLint测试)略过了花括号,并将if语句放在同一行中。

这样做的好处是该循环语句变得可读性更强(对于每个拥有属性X的元素,就直接对X进行操作)。

这样做的结果是只需要更少的缩进就可以获取循环的目的:

//在Object.prototype中调用hasOwnProperty()过滤该原型属性,避免在枚举man的方法时枚举出对Object的其他方法的访问。
var i,
    hasOwn = Object.prototype.hasOwnProperty;
for (i in man){
    if (hasOwn.call(man,i)){//过滤          
         console.log(i,":", man[i]);
}

            

//警告:不能通过JSLint检查
var i,
    hasOwn = Object.prototype.hasOwnProperty;
for (i in man) if (hasOwn.call(man,i)){//过滤          
         console.log(i,":", man[i]);
}

同样的if语句也有这样的省略写法,我看到同事写java写惯以后写js也这么写,

但是java中这样写其实会有问题:

if () 
后面不使用花括号时,里面不能出现声明,因为那个涉及到作用域,而没有花括号又没有作用域了。 

详见简单问题的背后:关于if后不加括号的讨论

在C、 c++ 和C#中都是正确的,即使在Vs2005中这样的Java代码也是正确的,因为这种形式的代码在不同的编译方法中会有不同的解释(比如这样的形式 i 的作用域被默认为与if(){}形式中的一样。那么这样的形式就会正确)。从这可以看出,1、编写代码时,尽可能的与规范靠拢,2.熟悉自己用得编译器 

我想我还是不要这样写吧!

非正式js语法,布布扣,bubuko.com

非正式js语法

标签:style   blog   http   java   color   使用   

原文地址:http://www.cnblogs.com/haimingpro/p/3853934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!