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

  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);

JS高级---实例对象和构造函数之间的关系的更多相关文章

  1. JS高级---实例对象使用属性和方法层层的搜索 (实例对象-->原型对象-->报错)

    实例对象使用属性和方法层层的搜索:   实例对象使用的属性或者方法, 先在实例中查找, 找到了则直接使用: 找不到则, 再去实例对象的__proto__指向的原型对象prototype中找, 找到了则 ...

  2. JS 之原型,实例,构造函数之间的关系

    JS是面向对象的语言,函数也是对象.下面大致介绍下实例,原型与构造函数之间的关系. 构造函数模式 function Person(name,age){ this.name = name; this.a ...

  3. 李洪强iOS开发之OC[018]对象和方法之间的关系

    // //  main.m //  18 - 对象和方法之间的关系 // //  Created by vic fan on 16/7/14. //  Copyright © 2016年 李洪强. A ...

  4. 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题

    1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. ...

  5. Js笔记(对象,构造函数,原型,原型链,继承)及一些不熟悉的语法

    对象的特性: 1.唯一标识性,即使完全不一样的对象,内存地址也不同,所以他们不相等 2.对象具有状态,同一个对象可能处在不同状态下 3.对象具有行为,即对象的状态可能因为他的行为产生变迁 Js直到es ...

  6. js高级之对象高级部分

    基于尚硅谷的尚硅谷JavaScript高级教程提供笔记撰写,加入一些个人理解 github源码 博客下载 对象的创建模式 Object构造函数模式 套路: 先创建空Object对象, 再动态添加属性/ ...

  7. js高级---本地对象、内置对象、宿主对象

    名词参考: 原生对象:也叫内部对象.本地对象.native object 内置对象:Build-in object 宿主对象:host object ECMA-262 定义: 原生对象:独立于宿主环境 ...

  8. JS单例对象与构造函数对象的区别

    JavaScript对象有几种: 内置对象如Global,Math对象等等. 本地对象如Object.Function.Array.String.Boolean.Number.Date.RegExp. ...

  9. 创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)

    分类: Oracle(9) 版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk 目录(?)[+] 目录 目录 软件环境 前言 安装Oracle监听 ...

随机推荐

  1. Windows启动项更改

    笔者遇到的问题: 之前新装了Windows10系统,但没注意到的是竟然是deepin和Windows10双系统,一是用不到deepin系统,二是占用C盘空间太多,就重新装回了Windows7系统,但重 ...

  2. java.awt.Font

    显示效果 Font mf = new Font(String 字体,int 风格,int 字号);字体:TimesRoman, Courier, Arial等风格:三个常量 lFont.PLAIN, ...

  3. SSH多表操作入门

    这个系统写到这里,所涉及到的都是单表的操作,增删改查,现在功能需要完善,涉及到多表操作,开始是毫无头绪,书上的代码也没有现成的可以借鉴,想来就从最简单的开始.问题出现了很多,不过最后在龙哥的提示下还是 ...

  4. c++面向对象 之 内联函数 this 静态成员

    1,内联函数 如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方.用inline指定,内联函数通常短小精悍没有while和for循环,能够帮助提升程序执行的速度 ...

  5. 普及C组第三题(8.10)

    2301. [普及组T3或T4]线索 (File IO): input:assassin.in output:assassin.out 时间限制: 1000 ms  空间限制: 262144 KB 题 ...

  6. array.find()方法

    //array.find(function(currentValue, index, arr),thisValue) 方法说明 let tempArray = [ {"key":1 ...

  7. python修改文件后缀名

    修改文件后缀名 # -*- coding: utf-8 -*- import os # # 列出当前目录下所有的文件 # filedir = 'C:\\Users\\WT\\Desktop\\test ...

  8. LVM逻辑卷:创建LVM分区实例

    一.概述 LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM适合于管理大存储设备,并允许用户动态调整文件系统的大小.此外LVM快照功能可以帮助我们快速备份数据. ...

  9. HTML学习(7)格式化标签

    对文本格式进行编辑的标签.常用: <b>加粗文本</b> <strong>加重语气</strong>   与<b>效果一样,<stro ...

  10. TCP协议的3次握手与4次挥手过程【深度详解】

    一.前沿 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务.面向连接意味着两个使用TCP的应用(通常是一个客户和一个 ...