非正式js语法

有一种格式化的变种(该变种没有通过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语法

时间: 2024-08-25 20:44:23

非正式js语法的相关文章

Mongodb中的js语法

定义一个变量 > var len = 10; For循环 这里的db和data都可以作为对象 save是方法 接收一个临时定义的对象 > for(var i = 0; i < len; i++){db.data.save({x:i})}; WriteResult({ "nInserted" : 1 }) > db.data.find(); { "_id" : ObjectId("593177646a6bb0f03293efe1&qu

Mustache.js语法

看了Mustache的github,学学此中的语法,做个笔记 1.简单的变量调换:{{name}} 1 var data = { "name": "Willy" }; 2 Mustache.render("{{name}} is awesome.",data); 返回成果 Willy is awesome. 2.若是变量含有html的代码的,比如:<br>.<tr>等等而不想转义能够在用{{&name}} 1 va

eclipse中加放js文件报js语法错误解决办法

1) eclipse设置         window->preference-> JavaScript -> Validator->Errors/Warnings->Enable Javascript Sematic validation前面的钩号去掉 2) .project文件    下面的代码删除 <buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValidator</name

js语法基础

js的由来,最开始是95年为了检查服务器验证表单数据而逐渐发展的. js的组成,1核心(ECMAScript)2文档对象模型(DOM)3浏览器对象模型(BOM) js是解释性执行,弱类型,基于对象,事件驱动,跨平台的脚本语音 对象包括日期对象,字符串对象,数学对象一系列对象 弱类型不区分整数和小数(相对于其他编程语音)变量可以存储任意类型 事件驱动:基于事件,例如鼠标经过(hover),鼠标点击(click,鼠标正键单击)失去焦点(focus)按键弹起事件 onload加载事件 跨平台:wind

js语法中运算符的二义性之逗号&ldquo;,&rdquo;的二义性

看到<js语言精髓与编程实践>中讲解的js语法中运算符的二义性之逗号的二义性,做些笔记 我们先来看看这两个例子: alert(eval('a=(1,2,3);'));//示例1 alert(eval('a=1,2,3;'));//示例2 结果是两者都会弹出3,这种用法产生的混乱,是因为逗号","既可以是语法分隔符,又可以是运算符所导致的.在上面的示例1,示例2中,逗号都被作为"连续运算符"在使用.示例1中的括号强制运算符,因此它的效果是运算如下表达式:

JS 语法大全

来源http://blog.csdn.net/newegg2009/article/details/6230582 js语法2008年03月19日 星期三 11:14一.js的数据类型和变量 JavaScript 有六种数据类型.主要的类型有 number.string.object 以及 Boolean 类型,其他两种类型为 null 和 undefined. String 字符串类型:字符串是用单引号或双引号来说明的.(使用单引号来输入包含引号的字符串.)如:"The cow jumped

gulp-gulpfile.js语法说明

关于gulpfile文件: 直接上代码吧!! /*! * gulp * $ npm install gulp gulp-ruby-sass gulp-cached gulp-uglify gulp-rename gulp-concat gulp-notify gulp-filter gulp-jshint gulp-rev-append gulp-cssnano gulp-imagemin browser-sync gulp-file-include gulp-autoprefixer del

js 语法高亮插件之 Prism.js

之前也介绍过几款语法高亮插件<为博客园选择一个小巧霸气的语法高亮插件>以及关于他们的综合性能<再议 语法高亮插件的选择>.今天在小影志博客看到<使用 Prism.js 实现漂亮的代码语法高亮>于是心血来潮去看了下,顺便测试了下性能.打开 Prism.js 官网,看到 Used By..我勒个去,来头不小啊. 然后看了下例子,果然思路不错,非常有意思的一个插件,于是乎我就下载到本地进行 jQuery 高亮渲染测试.测试方法和以前一样,为了和之前的插件对比,当然我的电脑也没

js语法检查器

将以下代码拷贝到新的HTML文件中打开即可看到效果! <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head> <meta charset="utf-8" /> <title>JS语法检查器</title> <style> .js-color-reservedword {