JavaScript经验
-
JavaScript语言的属性简写
在对象字面量创建对象方式中,当属性名和代表属性值的变量名相同时,可以省略属性名以及紧跟在属性名后面的冒号,只使用变量名。 注意:类没有属性简写语法。 当对象字面量作为函数的返回值时,也支持属性简写。
-
JavaScript语言的可计算(Computed)名
可计算名语法用于使用表达式的返回值作为成员名。 支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。 支持对象字面量的成员:数据属性、访问器属性、方法。 方括号 [] 内可以为任何 JavaScript 表达式,表达式的返回值的类型只可以为 字符串类型(包括空字符串) 或者 符号类型。…
-
JavaScript语言的提升(Hoisting)
函数声明支持提升(Hoisting),变量声明、常量声明、函数表达式、箭头函数表达式不支持提升。
-
JavaScript语言的成员名
支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。 支持对象字面量的成员:数据属性、访问器属性、方法。 成员名的类型只可以为 字符串类型(包括空字符串) 或者 符号类型。 注意:此处成员名用于“成员声明”的时候,而不是“访问成员”的时候。 实际上,比较两个成员名是否相等采用的是相等 …
-
JavaScript语言的展开(Spread)语法
1.展开可迭代对象 1.1用于变量赋值 1.2用于函数实参 具体参考“用于变量赋值”章节。 2.展开对象字面量 2.1用于变量赋值 2.2用于函数实参 JavaScript 语言不支持用于函数实参。
-
JavaScript语言的解构(Destructuring)语法
可迭代对象解构是按位置的,而对象字面量解构是按命名的。 注意:解构语法是并行的。 1.可迭代对象解构 1.1用于变量赋值 左侧的变量还支持占位语法。 注意:左侧不是稀疏数组语法,是占位语法。 1.2用于函数形参 具体参考“用于变量赋值”章节。 2.对象字面量解构 2.1用于变量赋值 2.2用于函数形参 具体参考“用于变…
-
JavaScript语言的函数递归(Recursion)
一个函数定义的函数体内有此函数的函数调用,此时便形成了函数递归(Recursion)。
-
函数定义作为值
1.作为值赋给变量 2.作为函数的实参(回调函数)或返回值 接受一个回调函数作为实参 或 返回值为函数定义,只要满足其一,函数 callSomeFunction 和 函数 returnSomeFunction 则称为高阶函数(Higher Order Function)。 作为实参的函数定义 add 则称为回调函数(C…
-
Node.js风格的CommonJS模块
CommonJS 模块用于在服务器环境中使用,而 Node.js 使用了 CommonJS 模块的轻微修改版本,本文就介绍这种 Node.js 风格的 CommonJS 模块。 模块是 .js 文件。 1.导出 Node.js 通过将需要导出的模块成员赋值给 module.exports 来实现导出。 同一个模块中可以…
-
JavaScript对象简谱(JavaScript Object Notation,JSON)
1.结构(structure) 1.1对象(object) 对象(object)是“键/值”对的无序集合。 一个对象以左花括号 { 开始,然后以右花括号 } 结束。键必须使用双引号字符串,每个键后跟一个冒号 : ,“键/值”对之间使用逗号 , 分隔。 1.2数组(ar…