console.log()打印诡异骗局
let arr = [{id:1, name:'张飞'}, {id:2, name:'赵云'}, {id:3, name:'刘备'}];
console.log(arr)
展开前
image.png展开后
image.png提前打印,但是后续改变属性值,打印 [{id: 1, name: "张飞"}, {id: 2, name: "赵云"}, {id: 3, name: "刘备"}],但是展开后就变成 [{id: 1, name: "妲己"}, {id: 2, name: "赵云"}, {id: 3, name: "刘备"}],有人说这还有展开?是的每一个对象左边都有一个顶点朝右的灰色等边三角形,点击顶点朝下。
原因分析
Array、Object都是引用类型,是对象引用而不是值引用。
如何打印及时值
JSON.stringify
转为json字符串
let arr = [{id:1, name:'张飞'}, {id:2, name:'赵云'}, {id:3, name:'刘备'}];
JSON.stringify(arr);
image.png经典前端面试题每日更新,欢迎参与讨论,地址:https://github.com/daily-interview/fe-interview。
更多angular1/2/4/5、ionic1/2/3、react、vue、微信小程序、nodejs等技术文章、视频教程和开源项目,请关注微信公众号——全栈弄潮儿。
image
网友评论