23 JavaScript规范与最佳实践&性能&箭头函数
大多数web服务器(Apache等)对大小写敏感,因此命名注意大小写
不要声明字符串、数字和布尔值,始终把他们看做原始值而非对象,如果把这些声明为对象,会拖慢执行速度
对象是无法比较的,原始值可以
不要使用new Object()
- 请使用 {} 来代替 new Object()
- 请使用 "" 来代替 new String()
- 请使用 0 来代替 new Number()
- 请使用 false 来代替 new Boolean()
- 请使用 [] 来代替 new Array()
- 请使用 /()/ 来代替 new RegExp()
- 请使用 function (){}来代替 new Function()
JavaScript为松散类型,变量可以进行自动类型转换,常见的有字符串和数值之间的转换
- 字符串加数字等于字符串
- 字符串减数字等于数值
- 字符串减字符串等于NAN
Undefined与null
- 空的对象值可以是null,undefined则是对象未定义
- 在条件判断null之前必须先判断undefined
JavaScript性能:
循环:
- 减少循环次数
- 减少重复访问,比如array.length可以定义在循环为,避免每次循环都要访问一遍
DOM:
- 减少DOM元素访问,可以声明一个变量存放元素在本地
- 保持较少的HTML DOM规模,可以加快页面渲染速度(尤其是小设备)
- 避免不必要的变量,用代码替代
- 避免用with,严格模式下不允许用with
箭头函数:
const x = (x, y) => x * y;
函数名:x
参数:x,y
返回值: x + y
调用方式: x(1,2);