有一句说错了,Date类型转成JSON字符串是ISO时间格式,不是UTC,这个可以分别通过 toJSON() / toISOString() / toUTCString() 来验证!
2017-07-20
这两个案例中的区别是,案例一中的prototype用了get方法(这是个函数),案例二中的prototype的z属性设置成了只读型(无法修改),我认为,这两个区别的共同点是,prototype中的z都无法修改(对于案例一,get方法体中的内容无法修改),因此,再用obj.z=100赋值是不能成功的。(这应该是赋值的一种机制,如果本对象中没有就到prototype中找,如果没有就在本对象中创建,如果有就判断是否可写,如果可写就修改值,如果不可写就不做改变)。仅个人观点
2017-07-19
Object.prototype.toString("123"); // [object Object]
Object.prototype.toString.call("123"); // [object String]
Object.prototype.toString.call("123"); // [object String]
2017-07-18
评论:看了萌萌小卡的代码,发现怎么写都摆脱不了他的影子。他的代码应该是算最优的吧,谁有更优的代码分享出来,大家学习下.
回复:萌萌小卡的代码很简洁,但是如果看了穿墙无数的代码的话,不难发现穿墙无数的代码里在push的时候有一个if判断,这个判断绝不是多余的,可以将testData.js里第四组数据改编成arr1里有两个“1”,arr2里有两个“false”验证代码合理性。所以,在萌萌小卡的代码里push的时候应该也加上判断,鲁棒性才会更强。如下:if(arr3.join().indexOf(type(arr1[i]))<0) arr3.push(type(arr1[i]));
回复:萌萌小卡的代码很简洁,但是如果看了穿墙无数的代码的话,不难发现穿墙无数的代码里在push的时候有一个if判断,这个判断绝不是多余的,可以将testData.js里第四组数据改编成arr1里有两个“1”,arr2里有两个“false”验证代码合理性。所以,在萌萌小卡的代码里push的时候应该也加上判断,鲁棒性才会更强。如下:if(arr3.join().indexOf(type(arr1[i]))<0) arr3.push(type(arr1[i]));
这个原型链是不是跟C++里面的继承机制啊,子对象继承父对象的属性,如果子对象定义同名属性,就会覆盖从父对象继承过来的属性
2017-07-18
也就是说,新建对象从原型中继承的含有get和set方法的属性,属性受这两个方法限制,想要重新定义新建对象上的属性要用到Object.defineProperty()这个方法。
2017-07-18