经验
-
使用*和**解包(unpacking)函数的实参
1.解包序列字面量(*) 2.解包字典字面量(**)
-
JavaScript语言的属性简写
在对象字面量创建对象方式中,当属性名和代表属性值的变量名相同时,可以省略属性名以及紧跟在属性名后面的冒号,只使用变量名。 注意:类没有属性简写语法。 当对象字面量作为函数的返回值时,也支持属性简写。
-
JavaScript语言的可计算名
可计算名语法用于使用表达式的返回值作为成员名。 支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。 支持对象字面量的成员:数据属性、访问器属性、方法。 方括号 [] 内可以为任何 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…
-
shebang(hashbang)注释的讲解
shebang 注释是一种用于在 Unix/Linux shell 中使用的特殊注释,由 #(hash) 和 !(bang) 两个符号开始,后跟脚本的解释器的路径。 shebang 注释又称为 hashbang 注释,更强调符号本身的名称(#! = hash + bang)。 注意:shebang 注释必须放置在脚本文…