对象对象学习笔记
构造函数新对象()
新对象(值)
参数
价值
一个可选的参数,这是原始值(即数字、布尔值或字符串)被转换为数字对象,布尔对象,或一个字符串对象,Javascript 1.1以前的版本,ECMAscript Vl不支持的对象。
返回值
如果value参数没有传递给构造函数,然后返回一个新创建的对象实例。如果原始值参数指定的构造函数将创建并返回原来的值,即包装对象,数字对象,布尔对象,或字符串对象,当新的经营者是不是使用对象()构造函数称为一个函数,它的行为是一样,当新的算子。
属性
构造函数
对Javascript函数的引用,它是对象的构造函数。
方法
1.hasownproperty()
检查对象是否具有本地定义(非继承)和特定名称属性。
复制代码代码如下所示:
U3000
新对象();
o.name =汤姆;
警报(o.hasownproperty(名称)); / /真的
警报(o.hasownproperty(年龄)); / /假
2.isprototypeof()
语法
object.isprototypeof(O)
参数
o
任何对象。
返回值
如果对象是O的原型,则返回true。如果O不是一个对象,或者对象不是O的原型,则返回false。
描述
Javascript对象继承了原型对象的属性,对象的原型的原型,用于创建和初始化对象的构造函数引用,isprototypeof()方法提供了一种方法来确定一个对象是否是另一个对象的原型。这种方法可以用来确定对象的类。
样品
复制代码代码如下所示:
var =新的(对象);创建对象
object.prototype.isprototypeof(O)真: / O是一个对象
Function.prototype.isPrototypeOf(o.tostring / /);真的是一个函数的方法
Array.prototype.isPrototypeOf({1,2,3}; / /真实):{1,2,3}是数组
下面是测试同一种方法的另一种方法的实现
(o.constructor = =对象); / /真实:o创建对象(构造函数)
(o.tostring.constructor = =功能); / /真实:o.tostring是函数
原型是原型对象中的对象本身,下面的调用返回true
/ /功能后,function.prototype和object.prototyp性质。
Object.prototype.isPrototypeOf(函数原型);
3.proertyisenumerable()
语法
object.propertyisenumerable(propname)
参数
propname
包含对象原型名称的字符串。
返回值
如果对象具有非继承的属性名和属性propname,枚举(即为 /环可枚举),则返回true。
描述
一 /语句可用于遍历一个对象可以枚举的属性。但不是所有的对象属性的枚举,通过Javascript代码添加到对象属性的枚举,而预定义属性的内部对象(如法)通常是不可数。(propertylsenumerable)方法提供了一种区分可枚举属性和不可枚举属性的方法。但要注意,ECMAscript标准规定,propertyisenumerable()方法没有检测到原型链,这意味着它只适用于物体的局部特征,而不能检测出的继承属性的枚举属性。
样品
复制代码代码如下所示:
var =新的(对象);创建对象
OX = 3.14; / /定义一个属性
o.propertyisenumerable(X); / /真实属性X是局部和枚举。
o.propertyisenumerable(Y); / /错误:没有属性Y
o.propertyisenumerable(规则); / /假:tostrlng属性继承
object.prototype.propertyisenumerable(规则); / /假:。
缺陷
当标准的限制propertylsenumerable()方法只能检测非继承的属性,这显然是错误的。Internet Explorer 5.5标准实现此方法,propertyisenumerable()的实现方法nestacpe 6认为原型链。虽然这种方法是可取的,它与标准的冲突,所以Netscape 6.1修改它,它与IE 5.5.this方法不是很有用因为这错误的标准。
复制代码代码如下所示:
var obj =新的对象();
obj.title = 'AAA';
obj.funb =功能(A,B)
{
警报(A + B);
}
警报(obj。标题);
Obj.funb(1,2);
这里的方法
******************************
复制代码代码如下所示:
函数对象(值,A,B){
this.title =价值;
this.funb =函数(){
这个;
这个;
警报(A + B);
}
}
var obj =新的对象(AAA
警报(obj。标题);
Obj.funb();
在这里添加对象的新方法
object.prototype.name =123456;
警报(对象名称);
这是另一种方式。