javascript 语法

4.1 语法

ECMAScript的语法大量借鉴了c及其他C语言(如java,Perl)的语法,因此,熟悉这些语言的开发人员在接收ECMAScript更加宽松的语法时,有种轻松自在的感觉(哈哈哈,我就是这种感觉)

4.1.1 区分大小写

要理解的第一个概念就是ECMAScript的一切(变量,函数名和操作符)都区分大小写,这也就意味着,变量名 test 和 Test 分别表示两个不同的变量,而函数名不能用typeof,因为typeof是一个关键字,但typeof则完全可以是一个有效的函数名

4.1.2 标识符

所谓标识符,就是指变量、函数、属性的名字、或者函数的参数,标识符可以按照下面格式规则组合起来的一个或多个字符:

A: 第一个自符必须是字母、下划线(_)或一个美元符号($)

B: 其他字符可以是字母、下划线、美元符号或者数字。

标识符中的字母也可以包含拓展的ASCALL或Unicode字母字符,但我们不推荐这样做。

按照惯例,ECMAScript标识符采用驼峰式大小写格式,也就是第一个字母小写,剩下的单词首字母大写,例如:myCar 

虽然没有人强制采用这种格式,但为了与ECMAScript内置的函数和对象命名格式保持一致们可以将其当作一种最佳实践。

注意:不能把关键字、保留字、true、false和null用作标识符。

4.1.3 关键字和保留字

首先介绍关键字,ECMAScript的这些关键字可用于表示控制语句的开始和结束,或者用于执行特定的操作等。按照规则,关键字也是语言保留的,不能作为标识符,一下就是ECMAScript所有的关键字(带*的是第五版新增的关键字):

接着介绍保留字。尽管保留字在这门语言还没有任何特定的功能,但它们有可能将来被用作关键字,以下是ECMA-262第3版定义的全部保留字:

上面两张图有点变形,将就着看吧,哈哈哈

4.1.4 注释

ECMAScript使用c风格的注释,包括单行注释和快级注释。单行注释以两个斜杠开头,如下所示:

//单行注释

快级注释以一个斜杠和一个星号开头,以一个星号和一个斜杠结尾,如下所示:

/*

*这是一个多行

*(块级)注释

*/

4.1.5严格模式

ECMAScript 5引入了严格模式(strict mode)的概念。严格模式是为JavaScript定义一种不同的解析与执行模式。在严格模式下,ECMAScript 3中的一些不确定的行为将得到处理,而且对于某些不安全的操作也会抛出错误。要想在整个脚本中启用严格模式,可以在顶部添加如下代码:

“use strict”;

这行代码看起来像是字符串,而且也没有赋值给任何变量但其实它是一个编译指示(pragma),用于告诉支持JavaScript引擎切换到严格模式,这是为不破坏ECMAScript 3语法而特定选定的语法。

在函数内部的上方包含这条编译指示,也可以指定函数在严格模式下执行:

function doSomething(){

        “use strict”;

        //函数体

}

严格模式下,JavaScript的执行结果会有很大的不同,支持严格模式的浏览器包括IE10+、FireFox4+、Safari5.1+、Opera12+和Chrome

4.1.6 语句

ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾,如下例所示:

var sum=a + b;//即使没有分号也是有效的语句-------不推荐

var sum=a + b;//有效的语句,推荐

虽然语句结尾的分号不是必需的,但建议我们任何时候都不要省略它,因为加上这个分号可以避免很多错误(例如不完整的输入),开发人员也可以放心通过删除多余的空格来压缩ECMAScript代码(代码行结尾处没有分号会导致压缩错误)。另外,加上分号也会在某些情况下增进代码的性能,因为这样,解析器就不必再花时间推测应该在哪里插入分号了。

可以使用c风格的写法把多条语句组合到一个代码块中,即代码块以“{“开头,以“}“结尾:

if(test){

test=false;

alert(test);

}

虽然条件控制语句(如if语句)只有在执行多条语句的情况下菜使用代码块,但最佳实践是始终在控制语句中使用代码块-即使代码块中只有一条语句,例如:

if(test)

alert(test);//有效,但容易出错,不要使用

 

if(test){

alert(test);//推荐使用

}

在控制语句中使用代码块可以让编码意图更加清晰,而且也能降低修改代码时出错的几率。

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值