首页 > 代码库 > Javascript权威指南精髓(二)
Javascript权威指南精髓(二)
在ECMAScript5中,对象直接量中的最后一个属性后的逗号将忽略,且在ECMAScript3的大部分实现中也可以忽略这个逗号,但在IE中则报错。
delete运算只是断开属性和宿主对象的联系,而不会去操作属性中的属性。delete操作只能删除自有的属性,不能删除继承的属性(要删除继承的属性必须从定义这个属性的原型对象上删除它,而且这会影响到所有继承自这个原型的对象)
hasOwnProperty()放大用来检测给定的名字是否是对象的自有属性。对于继承属性它返回false
json:全称为JavascriptObject Notation,即Javascript对象表示法
对象序列化是值将对象的状态转换为字符串,也可将字符串还原为对象,ECMAScript5提供了内置函数JSON.stringify()和JSON.parse()用来序列化和还原Javascript对象。这些方法都使用JSON作为数据交换格式。
所有的Javascript对象都从Object.prototype继承属性(除了那些通过原型显示创建的对象)。这些继承属性主要是方法,因为Javascript程序员普通对继承方法更感兴趣。
toLocaleString(),这个方法返回一个表示这个对象的本地化字符串。Object中默认的toLocalString()方法并不做任何本地化自身的操作,它仅调用toString()方法并返回对应值。Date和Number类对toLocalString()方法做了定制,可以用它对数字、日期、和时间做本地化的转换。Array类的toLocaleString()方法和toString()方法很像,唯一的不同是每个数组元素会调用toLocalString()方法转换为字符串,而不是调用各自的toString()方法。
toString()和toLocaleString()的区别:
1)toLocaleString返回的会根据区域不同而现实不同的结果,它的日期格式要按照用户的“控制面板”中“区域设置”来确定。例如,同样是1月5日,在美国,toLocaleString 可能会返回 "01/05/96 00:00:00",而在欧洲,返回值则可能是"05/01/96 00:00:00",因为欧洲的惯例是将日期放在月份前面。
2)在处理数组的时候,toLocaleString会对数组的每个元素都调用该方法,而toString调用toString方法
本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1565277
Javascript权威指南精髓(二)