024--自找麻烦之 JavaScript

1. js中0除以0会得到NaN,用 isNaN() 函数可以判断一个数是否为 NaN

2. js动态产生对象push进数组,发现数组所有元素都一样(遇到的bug):

var str = [];   //这是正确写法,关键在于obj这个动态对象要在for中声明
for (var i = 0; i < 5; i++) {
     var obj = {
         id: i,
         name: 'name_' + i,
     };
     str.push(obj);
     console.info(obj);
 }
 console.info(str);

原因:对象是同一个对象,动态创建对象时,不断对对象赋值,push进数组,数组[obj,obj,obj],所有的obj值相同,因而导致数组中都是同一个对象

3. 

猜你喜欢

转载自blog.csdn.net/m0_37291785/article/details/81094512