zoukankan      html  css  js  c++  java
  • 对象原型

    如何判断一个对象的方法是来自这个本身的还是原型的?

    function Person() {
    }
     
    Person.prototype.name="Nicholas";
    Person.prototype.age=29;
    Person.prototype.sayName=function(){
        alert(this.name);
    }
     
    var person1=new Person();
    person1.name="Greg";
     
    var person2=new Person();
     
    console.log(person1.hasOwnProperty("name"));//true
    console.log(person2.hasOwnProperty("name"));//false
     
    console.log("name" in person1);//true
    console.log("name" in person2);//true
     
    for (var prop in person1) {
        console.log(prop);//name   age   sayName
    }
     
    function hasPrototypeProperty(object,pro) {//如此可判断存在于原型中的属性
        return (!object.hasOwnProperty(pro))&&(pro in object);
    }
    console.log(hasPrototypeProperty(person1,"name"));//false
    console.log(hasPrototypeProperty(person2,"name"));//true
    function Person() {
    }
     
    Person.prototype.name="Nicholas";
    Person.prototype.age=29;
    Person.prototype.sayName=function(){
        alert(this.name);
    }
     
    var person1=new Person();
    person1.name="Greg";
     
    var person2=new Person();
     
    console.log(person1.hasOwnProperty("name"));//true
    console.log(person2.hasOwnProperty("name"));//false
     
    console.log("name" in person1);//true
    console.log("name" in person2);//true
     
    for (var prop in person1) {
        console.log(prop);//name   age   sayName
    }
     
    function hasPrototypeProperty(object,pro) {//如此可判断存在于原型中的属性
        return (!object.hasOwnProperty(pro))&&(pro in object);
    }
    console.log(hasPrototypeProperty(person1,"name"));//false
    console.log(hasPrototypeProperty(person2,"name"));//true

     

  • 相关阅读:
    ShellExecuteEx 函数说明
    npm
    Byte和char
    如何高效阅读一个项目
    C++中慎用malloc
    #ifdef
    string
    C++与C混合编译
    git@github.com: Permission denied (publickey).
    connect to host github.com port 22: Connection refused
  • 原文地址:https://www.cnblogs.com/yuaima/p/5901557.html
Copyright © 2011-2022 走看看