每一个你不满意的现在,都有一个你不努力的曾经. 网站首页 > js
JS经典试题之常用的方法
发布时间:2018-12-06 10:43:46 修改时间:2019-01-03 14:48:42 阅读:6682 评论: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常用属性