JS高级程序设计-第三章 基本概念

简介:js工作原理 

基本概念:语法、操作符、数据类型、内置功能

用以上基本概念去构建复杂解决方案的基本概念

基于ECMA-262第三版中定义的JavaScript

3.1语法

参考C及其他 类C语言(如Java和Perl)的语法。

3.1.1区分大小写

ECMAScript中的一切都区分大小写   变量、函数名、操作符

 

3.1.2标识符

标识符:变量、函数、属性的名字,或者函数的参数。

扫描二维码关注公众号,回复: 10259063 查看本文章

标识符可以是按照下列各式规则组合起来的一或多个字符:

rule1:第一个字符不许是字母、下划线(_)或者一个美元符号($)

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

tips:

ECMAScript内置函数采用驼峰大小写格式:第一个字母小写,剩下的每个单词的首字母大写

标识符也采用驼峰大小写作为最佳实践

不要将关键字保留字null、true、false作为标识符

 

3.1.3注释

单行注释

// 单行注释

块级注释:

rule:/*开头 */结尾 

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

3.1.4严格模式

ECMAScript5引入了严格模式(strict mode)的概念。

严格模式是为JavaScript定义了一种不同的解析和执行模型。在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。

tips:将严格模式视为编译指示(pragma),告诉JavaScript引擎切换到严格模式

在整个脚本中启用严格模式

“use strict”;

在函数中启用严格模式

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

3.1.5语句

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

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

tips:推荐使用分号:

  1. 避免错误

  2. 删除多余的空格不会出现压缩错误

  3. 增加代码性能,解析器就不必再花时间推测应该在哪里插入分号

 

多条语句的代码块,代码块以左花括号( { )开头,以右花括号( } )结尾

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

条件控制语句中,单条语句也推荐使用代码块

if(test){
    alert(test)           // 有效但容易出错,不要使用
}else{
    alert(test);          // 推荐使用
}

3.2关键字和保留字

关键字 可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照原则,关键字也是语言保留的,不能用作标识符。

tips:* 表示第五版新增的关键字

break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger(*) function this with
default if throw  
delete in try  

保留字: 当前在这门语言中没有用途,但它们有可能在将来被用作关键字。

ECMAScript第3版保留字

abastract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public  

ECMAScript第5版保留字 (非严格模式)

class enum extends super
const export import  

ECMAScript第5版保留字 (严格模式)

implements package public
interface private static
let protected yield

注意,let和yield是第5版新增的保留字;其他保留字都是第3版定义的。为了最大程度地保证兼容性,建议读者将第三版定义的保留字外加let和yield作为编程时的参考。(为保证兼容性,ECMAScript3 的保留字也要有let yield)

在实现了ECMAScript3的JavaScript引擎中使用关键字做标识符,会导致“Indentifier Expected”错误,保留字作标识符不一定会导致错误,具体取决于特定的引擎。

ECMAScript5使用关键字和保留字规则进行了少许修改。关键字保留字 不可做为标识符,但可作为属性值。此处不推荐使用,考虑将来的js兼容性。

ECMAScript5对eval和arguments还加了限制。严格模式下不能作为标识符属性名。

 

发布了10 篇原创文章 · 获赞 0 · 访问量 184

猜你喜欢

转载自blog.csdn.net/q3238882639/article/details/105159661