• 对象原型


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

    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

     

  • 相关阅读:
    mac 调整Launchpad行列数目
    查询及删除重复记录的SQL语句
    Linux中删除特殊符号文件名文件
    Mac 如何寻找Mac自带的IDLE
    Spring、Spring MVC、MyBatis 整合文件配置详解
    虚拟机下安装win7
    kali-linux 安装
    selenium 元素定位
    selenium 启动、窗口、获取标题
    python+ selenium + webdriver的环境准备
  • 原文地址:https://www.cnblogs.com/yuaima/p/5901557.html
Copyright © 2020-2023  润新知