企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] * * * * * ### 1. 标识符 就是变量、函数、属性的名字,或者函数的名字。 第一个字符必须是字母、下划线或者一个美元符号 * * * * * ### 2. 严格模式( `ECMAScript5` 引入) 在整个脚本中启用,就需要在脚本顶部添加: `'use strict'` 。这时,针对 `ECMAScript3` 中的一些不确定的行为做处理,而且对某些不安全的操作也会抛出错误。 也可以在函数中启用: ~~~ function () { 'use strict' // 函数体 } ~~~ * * * * * ### 3. 变量 `ECMAScript` 的变量是松散类型的,即可以用来保存任何类型的数据,也可以说是一个用于保存值的占位符而已。 * * * * * ### 4. 数据类型 5种简单数据类型: `Undefined、Null、Boolean、Number、String` +1种复杂类型 `Object` (`ES6` 新增了 `Symbol` 基础类型) `typeof` 变量 会出现以上这些的小写形式。 * * * * * ### 5. `Undefined` Undefined类型的引入(ECMAScript3),是为了正式区分空对象 指针与未经初始化的变量。所以如果一个变量用来表示对象,那么初始化时候就赋值为 null * * * * * ### 6. `Boolean` | 数据类型 | 转换为 `true` | 转换为 `false` | | --- | --- | --- | | `Boolean` | `true` | `false` | | `String` | 任何非空字符串(包括' ')| 空字符串 '' | | `Number` | 任何非零数字(包括无穷大)| 0和 `NaN` | | `Object` | 任何对象 | `null` | | `Undefined` | 不适用 | `undefined` | `!!someVar` 也可以转为 `Boolean` 值 * * * * * ### 7. `Number` 十进制,八进制,十六进制,浮点数(必须有小数点,且小数点后第一位为非0数字) ~~~ Infinity 正无穷大 -Infinity 负无穷大 NaN not a number 是一个特殊数值。 NaN==NaN // false isNaN() 用来判断一个变量是不是数字 ~~~ * parseInt('',进制) 第一个参数是要转化的字符串,第二个参数标明它是什么进制的数,最终是转为十进制整数(忽略小数点后的数) * parseFloat() 只解析十进制的值,其他的都当做无用字符串 * * * * * ### 8. `String` 除了值为 `undefined` 和 `null` 的变量外,其他的所有变量都有 `toString()` 方法 所以这两个值如果要转为字符串,只能使用 `String()` * * * * * ### 9. Object类型 相关内容很多,后面具体说明 * * * * * ### 10. 函数的参数 每个函数体中都可以访问一个变量 `arguments` ,这是一个类数组。由于修改里面的值后可能会反映到真实参数里,所以建议只是使用值就好了 ![](https://box.kancloud.cn/e28209f7bd5d37c2ae52813689ad2737_736x512.png) * * * * *