如何解决JavaScript特质
我正在研究一个程序来学习和提高基本的前端技能。首先,我们使用CodesandBox.io来运行和学习,并在学习的同时进行一些实验。最终,今天下午,当我们遍历数组时,我们遇到了一个奇怪的特性。
我们创建了一个基本的简单数组,并遍历了pop,push,shift,unshift之类的内容,并在通过console.log
方法读取动作的结果时,注意到.push
和{ {1}}没有被报告。我做了一些快速搜索,并创建了另一个console.log命令:.unshift
该命令返回正确的结果,但我想知道为什么,我不太了解JavaScript的许多更深层次的细节,这种奇怪的性质促使我提出了这个问题。
代码:
console.log(JSON.parse(JSON.stringify(lb)));
控制台日志:
let lb = ['bob','Joe','Mike'];
lb.push('last');
lb.unshift('first');
console.log(lb);
console.log(JSON.parse(JSON.stringify(lb)));
console.log('==')
function logArray(arr){
console.log(arr)
console.log(JSON.parse(JSON.stringify(lb)));
console.log('-')
}
logArray(lb);
lb.pop();
logArray(lb);
lb.shift();
logArray(lb);
我会很高兴有人详细介绍为什么["bob","Joe","Mike"]
["first","bob","Mike","last"]
==
["bob","last"]
-
["bob","Mike"]
-
["bob","Mike"]
["bob","Mike"]
-
不在阵列中时会返回所有项目,但是更长的爱好者console.log
会按预期返回阵列中的项目。我绝对会喜欢这些细节,并希望与本计划中的其他开发人员分享这些细节。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。