- 调用 undefined 函数会怎样
会报错,obj.a 不是一个函数
const obj = {};
console.log(obj.a());
Uncaught TypeError: obj.a is not a function at index.js:3:17
如果不确定一个函数是否存在可以这样调用
foo?.();
- replace 替换是替换一个还是全替换
单个替换
const str = "banana";
console.log(str.replace("a", "x")); // 输出 bxnana
如果想要全替换可以使用正则
const str = "banana";
console.log(str.replace(/a/g, "x")); // 输出 bxnxnx
这是一个改变时间格式的 demo
const str = "2001/10/03";
console.log(str.replace(/\//g, "-")); // 输出 2001-10-03
JSON.stringify特殊情况
JSON.stringify({
a: NaN,
b() {},
c: void 0,
}); // {"a":null}
- 使用正则捕获组拿到字符串内对应的数据
const reg = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/;
const nums = reg.exec("rgb(255, 252, 255)").slice(1, 4); // ['255', '252', '255']
const _reg = /^(\d{4}-\d{2}-\d{2}).*$/;
const date = _reg.exec("2023-10-10T18:00:00")[1]; // 2023-10-10
- 10 进制转 16 进制
(255).toString(16); // ff
- 数组的可迭代对象
[1, 2, 3][Symbol.iterator]();