码迷,mamicode.com
首页 > 编程语言 > 详细

javascript高级程序设计笔记2

时间:2015-06-08 00:54:22      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

  继续之前的,改说到object类型的了:Object 的每个实例都具有下列属性和方法。

constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)
就是Object()。


hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例
的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例
如:o.hasOwnProperty("name"))。


isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型(第5 章将讨论原
型)。


propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in 语句
(本章后面将会讨论)来枚举。与hasOwnProperty()方法一样,作为参数的属性名必须以字符
串形式指定。


toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
toString():返回对象的字符串表示。
valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值
相同。

这些方法虽然平时用得不多,但是都是一些非常有用的方法。

  基本类型之后就是运算,先来看看之前觉得很熟悉的递增和递减吧。

 

  递增和递减操作符遵循下列规则。
在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1 的操作。字
符串变量变成数值变量。
在应用于一个不包含有效数字字符的字符串时,将变量的值设置为NaN(第4 章将详细讨论)。
字符串变量变成数值变量。
在应用于布尔值false 时,先将其转换为0 再执行加减1 的操作。布尔值变量变成数值变量。
在应用于布尔值true 时,先将其转换为1 再执行加减1 的操作。布尔值变量变成数值变量。
在应用于浮点数值时,执行加减1 的操作。
在应用于对象时,先调用对象的valueOf()方法(第5 章将详细讨论)以取得一个可供操作的
值。然后对该值应用前述规则。如果结果是NaN,则在调用toString()方法后再应用前述规
则。对象变量变成数值变量。

例如:

var s1 = "2";
var s2 = "z";
var b = false;
var f = 1.1;
var o = {
valueOf: function() {
return -1;
}
};
s1++; // 值变成数值3
s2++; // 值变成NaN
b++; // 值变成数值1
f--; // 值变成0.10000000000000009(由于浮点舍入错误所致)
o--; // 值变成数值-2

这些东西都是很基本的东西,但是因为很多不常使用所以很多都不太熟悉,但是在某些地方这些又都是非常重要的东西,所以,尽管不常用,但是还是需要熟悉。

 

javascript高级程序设计笔记2

标签:

原文地址:http://www.cnblogs.com/dongchaoge/p/4559728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!