web前端笔记

Object对象的属性

2018-07-19  本文已影响0人  小姨家错对门

1、prototype属性

该属性返回对象类型原型的使用。

objectName.prototype

参数说明:
objectName:是对象的名称。
用prototype属性可以提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
例如,要为Array对象添加返回数组中最大元素值的方法是,声明该函数,将它加入Array.prototype,并使用它。

function array_max(){
    var i,max=this[0];
    for(i = 1;i < this.length;i++){
        if(max < this[i]){
            max = this[i];
        }
    }
    return max;
}
Array.prototype.max = array_max;
var x = new Array(1,2,3,4,5,6,3,1,7);
var y = x.max();
console.log(y);

//结果:7,y保存数组x中的最大值

所有js固有对象都有只读的prototype属性。可以像该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。

2、constructor属性

该属性表示创建对象的函数

object.constructor

参数说明:
object:必选项。是对象或函数的名称。
constructor属性是所有具有prototype的对象的成员。它们包括除Global和Math对象以外的所有js固有对象。constructor属性保存了对构造特定对象实例的函数的引用。例如:

x = new String("Hi");
if(x.constructor == String){
    console.log(true);  //进行处理(条件为真)
}

function MyFunc(){
    //alert("aaa");    //函数体
}
y = new MyFunc;
if(y.constructor == MyFunc){
    console.log(true);    //进行处理(条件为真)
}

//结果: true

千万别告诉别人哇~~
上一篇 下一篇

猜你喜欢

热点阅读