您的位置:首页 > Web前端 > JavaScript

javascript高级程序设计笔记2

2015-06-07 23:32 666 查看
  继续之前的,改说到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


这些东西都是很基本的东西,但是因为很多不常使用所以很多都不太熟悉,但是在某些地方这些又都是非常重要的东西,所以,尽管不常用,但是还是需要熟悉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: