包装对象
- Number 对象
new Number() 将一个值包装为对象
Number() 将一个值,强制转换为数值
toFixed(n) 强制保留小数点后n位
toString() 将数值转为字符串
- Boolean对象
new Boolean() 将一个布尔值包装为对象
Boolean() 将一个值强制转换为布尔型
!!值 隐式将一个值转换为布尔型
三、错误处理
- 常见的错误
语法错误(SyntaxError):代码书写不符合语法规范(缺少括号,出现中文符号....)
引用错误(ReferenceError):使用了为声明的变量
类型错误(TypeError):调用的方法不是一个函数类型
自定义错误:程序员自己指定的错误
throw 错误内容;
2. 错误处理
及时出现了错误也不影响后续代码执行
try{ 尝试执行,肯出现错误,出现后不再影响后边代码执行 }catch(err){ 只有try出现错误,才会执行,将try中错误信息收集到形参err中 错误处理代码 } |
- ES6新特征
ES6 -> ECMAScript6
指的是JS的第6套标准规范
ES2015 ES2016 ES2017 ....ES2022
- 块级作用域
let 声明的变量存在提升,但提升后不允许使用;let声明的变量不允许重复声明。
大括号之间的语句就是块级作用域,例如if, else,for.... 块级作用域下let和const声明是局部的,外部无法访问,可以防止全局污染 |
练习:使用for循环计算1~100之间所有整数的和,使用let声明变量
let声明的变量在群居作用域下也不是全局变量。 只有var 声明的全局变量 |
- 参数增强
可以给参数设置默认值
function add(a,b,c=0){ //ES6之前默认值设置 b=b || 0; } |
调函数时候,如果不提供值会使用默认值
- 箭头函数
简化了匿名函数的写法,不等价于匿名函数
( )=> { }
sort( function( a,b ) { return a-b; }) |
sort( ( a,b )=> { return a-b; }) |
如果箭头函数的函数体中只有一行代码并且是return形式,可以进一步简化 sort( ( a,b ) => a-b )
- 模板字符串
简化了字符串的拼接
`反引号之间的内容就是模板字符串 ${JS表达式}` |
练习:创建对象,包含保存一条商品数据,包含的属性有编号,标题,价格,是否在售(1/0),最后打印输出以下格式
编号:
标题:
价格:.00
是否在售: 是/否