字符串扩展
- 模板字符串 ${ JS 表达式 }
str += `<tr>
<td>${arr[i].id}</td>
<td>${arr[i].name}</td>
<td>${arr[i].age}</td>
</tr>`
- startsWith() 和 endsWith()
- startsWith() 用来判断字符串,是否以指定的字符开头,如果是,返回值是 true,否则返回 false
- endsWith() 用来判断字符串,是否以指定的字符结尾;如果是,返回值是 true,否则返回 false
const str = '哈哈!!';
console.log(str.startsWith('哈'))//true
console.log(str.endsWith('!'))//true
- padStart() 和 padEnd()
// 获取当前的日期对象
const dt = new Date()
const y = dt.getFullYear()
const m = dt.getMonth() + 1 // 0 -11
// const d = dt.getDate() < 10 ? '0' + dt.getDate() : dt.getDate()
const d = dt.getDate().toString().padStart(2, '0') // 参数1: 填充完毕之后,总长度应该是多少
const hh = dt.getHours()
const mm = dt.getMinutes()
const ss = dt.getSeconds().toString().padStart(2, '0')
const dateStr = `${y}-${m}-${d} ${hh}:${mm}:${ss}`
console.log(dateStr)//结果是2018-11-13 20:33:42
const str = '123' // 在前面填充 2个字 哈哈 在后面,填充 4个字 嘻嘻
const result = str.padStart(5, '哈哈').padEnd(9, '嘻嘻')
console.log(result)//结果是哈哈123嘻嘻嘻嘻
函数扩展
- 形参默认值
// --------------形参默认值---------------
function add(x, y = 0) {
return x + y;
}
console.log(add(1))//结果是1
- 解构赋值和形参默认值结合使用
// ---------解构赋值和形参默认值结合使用-----------------
function add({ x, y=0 }) {
return x + y;
}
const result = add({ x: 3})
console.log(result)//结果是4
- rest参数
在定义方法的时候,方法的形参列表中使用 …obj 是 rest 参数
// ----------- rest参数---------------
function add(...args) {// 在定义方法的时候,方法的形参列表中使用 ...obj 是 rest 参数
let total = 0;
for (let i = 0; i < args.length; i++) {
total += args[i];
}
console.log(total)
}
add(1, 2, 3, 4)//结果是10
- 扩展运算符
在调用函数的时候,使用的 …obj 表示 扩展运算符
// ----------------------扩展运算符--------------
function add(...args) {// 在定义方法的时候,方法的形参列表中使用 ...obj 是 rest 参数
let total = 0;
for (let i = 0; i < args.length; i++) {
total += args[i];
}
console.log(total)
}
let arr = [1, 2, 3, 4, 5, 6, 7, 8]
add(...arr) // 在调用函数的时候,使用的 ...obj 表示 扩展运算符