每一个你不满意的现在,都有一个你不努力的曾经. 网站首页 > js
JS经典试题之常用的方法
发布时间:2018-12-06 10:43:46
修改时间:2019-01-03 14:48:42
阅读:7658
评论:0
0
1、下面代码输出的值
let s = "bob"
const replaced = s.replace('b', 'l')
replaced === "lob"
s === "bob"
解析:replace 只会替换第一个匹配的字符串,如果你想替换所有匹配的字符串,你可以使用带/g标志的正则表达式 。
"bob".replace(/b/g, 'l') === 'lol' // 替换所有匹配的字符串 2、深度拷贝兼容写法
function deepCopy(obj) {
if (typeof obj !== 'object') return obj;
if (typeof window !== 'undefined' && window.JSON) { // 浏览器环境下 并支持window.JSON 则使用 JSON
return JSON.parse(JSON.stringify(obj));
} else {
let newObj = obj.constructor === 'Array' ? [] : {};
for(let key in obj) {
newObj[key] = typeof obj[key] === 'object' ? deepCopy(obj[key]) : obj[key];
}
return newObj;
}
}
let obj = {a: 1, b: [12]};
let newObj = deepCopy(obj);
newObj.b[1] = 100;
console.log(obj);
console.log(newObj);
回复列表
关键字词:code,nbsp,class,javascript,plain,keyword
上一篇:css常用属性
