zoukankan      html  css  js  c++  java
  • JS高级---实例对象和构造函数之间的关系

    实例对象和构造函数之间的关系:

      1. 实例对象是通过构造函数来创建的---创建的过程叫实例化
      2. 如何判断对象是不是这个数据类型?
       1) 通过构造器的方式 实例对象.构造器==构造函数名字
       2) 对象 instanceof 构造函数名字
       尽可能的使用第二种方式来识别,为什么?原型讲完再说
        //面向对象的思想是----抽象的过程---->实例化的过程
    
        //小苏这个人,姓名,年龄,性别, 吃饭,打招呼,睡觉
    
        //自定义构造函数----->实例化对象
        function Person(name,age,sex) {
          this.name=name;
          this.age=age;
          this.sex=sex;
          this.eat=function () {
            console.log("吃大蒜拌臭豆腐加榴莲酱");
          };
        }
        //构造函数---->创建对象
        var per=new Person("小苏",38,"女");
        //per.eat();//吃
        //实例对象是通过构造函数来创建
        //实例对象会指向自己的构造函数(暂时理解,是错误的)
        //把这个对象的结构显示出来
        console.dir(per);
        console.dir(Person);
    
    
        //实例对象的构造器(构造函数)
        //实例对象的构造器是指向Person的,结果是true,所以,这个实例对象per就是通过Person来创建的
        console.log(per.constructor==Person);//
    
        console.log(per.__proto__.constructor==Person);
        console.log(per.__proto__.constructor==Person.prototype.constructor);
    
    
    
        //构造函数
        function Animal(name) {
          this.name=name;
        }
        //实例对象
        var dog=new Animal("大黄");
        console.dir(dog);//实例对象
        console.dir(Animal);//构造函数的名字
    
        console.log(dog.__proto__.constructor==Person);
        console.log(dog.__proto__.constructor==Animal);
    
    
        //判断这个对象是不是这种数据类型
        console.log(dog.constructor==Animal);
        console.log(dog instanceof Person);
  • 相关阅读:
    archlinux .bash_history
    Ubuntu环境下挂载新硬盘
    软碟通 UltraISO U启替代品 Win32DiskImager 无设备 无盘符 无u盘 无优盘 解决方案 之diskpart
    delphi Integer overflow
    MSBuild Tools offline
    delphi synedit免费的拼写检查器dll
    git 自定义命令行
    lua编译
    gcc ar
    Windows Subsystem for Linux (WSL)挂载移动硬盘U盘 卸载 c d 盘
  • 原文地址:https://www.cnblogs.com/dongshenjun/p/13523734.html
Copyright © 2011-2022 走看看