微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript特质

如何解决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 举报,一经查实,本站将立刻删除。