JavaScript经验
-
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…
-
type=”module”、defer、async属性的区别
当 <script> 标签无 type=”module” 属性时,defer 和 async 属性都只可以被用在 <script> 元素的外部方式,如果被用在 <script> 元素的内部方式,则会被忽略。 当 <script> 标签有 type=”module” 属性时…
-
使用ES模块的两种方式
无论是内部方式还是外部方式,带有 type=”module” 属性的 <script> 标签会告诉浏览器相关代码应该作为模块执行,而不是作为普通的脚本执行。 无论是内部方式还是外部方式,一个 HTML 页面有多少个 type=”module” 属性的 <script> 标签没有限制。 无论是内部…