您的位置:首页 > Web前端 > JavaScript

JavaScript中基本概念的语法理解

2017-04-19 12:44 288 查看

JavaScript语法

ECMAScript的语法大量借鉴了C及其他类C语言(如Java和Perl)的语法,因此,熟悉这些语言的开发人员在接受ECMAScript更加宽松的语法时,一定会有一种轻松自在的感觉。

区分大小写

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

标识符

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

第一个字符必须是字母、下划线、美元符号。

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

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

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

firstSecode
myCar
doSomethingImportant


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

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


注释

ECMAScript使用C风格的注释,包括单行注释和块级注释。单行注释以二个斜杠开头,如:

// 单行注释


块级注释以一个斜杠和一个星号
(/*)
开头,以一个星号和一个斜杠
(*/)
结尾,如:

/*
* 这量个多行
* (块级)注释
*/


虽然上面注释中的第二和第三行都以一个星号开头,但这不是必需的,之所以添加那两个星号,纯粹是为了提高注释的可读必.

严格模式

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

"use strict";


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

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

function doSomething() {
"use strict";
// 函数体
}


支持严格模式的浏览器包括IE10+、Firefox 4+、Safari 5.1+、Opera12+和chrome。

语句

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

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


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

可以使用C风格的语法把多条语句组合到一个代码块中,即代码块以左花括号开关,以右花括号结尾:

if(test) {
test = false;
alert(test);
}


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

if(test) {
alert(test);    //有效但容易出错,不推荐

if(test) {
alert(test);    //推荐使用
}


在控制语句中使用代码块可以让编码意图更加清晰,而且也能降低修改代码时出错的几率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: