对象

对象是类的实例,万事万物皆对象。
类式对象的类型,具体到某一个事物
对象是带有属性和方法的特殊数据类型。


创建对象

1.直接量创建对象
var object = {}
2.使用new关键字创建对象
var object = new Object()

对象属性查询

1.点语法: 对象.属性
2.[]: 对象[属性]

工厂模式

function fn(){
        var obj = new Object();
        obj.name = "张三";
        obj.age = 20;
        obj.sex = "男";
        return obj;
}
 var  p1 = fn();
 var  p2 = fn();

工厂模式带参数:

function fn(a,b,c){
        var obj = new Object();
        obj.name = a;
        obj.age = b;
        obj.sex = c;
        return obj;
}
 var  p1 = fn("张三",20,"男");
 var  p2 = fn("李四",30,"女");

构造函数

函数名首字母大写 使用this关键字进行属性赋值
没有return返回值 调用时用new关键字


原型

每个函数都有一个原型属性,叫做prototype
原型是一个对象,用它可以实现属性的继承
prototype 这个属性的属性值是一个对象(属性的集合),默认的只有一个叫做constructor的属性指向这个函数本身。
每一个实例对象都有一个proto指针,指向构造函数的prototype原型
原型对象的作用就是定义所有对象实例所共享的属性和方法

hasOwnProperty() 判断一个属性是本地属性(true)还是原型对象属性(false)
in操作符 检测对象是否包含某个属性,可以是本地属性也可以是原型属性

原型链

当访问一个对象的属性和方法是,如果当前对象拥有,那么直接调用,如果当前对象没有,那么向他的父级查找,如果父级有,那么直接调用,否则继续向上查找,直到找到object基类为止,如果最终都没有找到就返回undefined


确定原型和实例的关系:可以通过两种方式来确定原型和实例的关系
1.操作符 instanceof
2.isPrototypeof()方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 普通创建对象和字面量创建对象不足之处:虽然 Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有...
    believedream阅读 2,436评论 2 18
  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 1,455评论 3 12
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,665评论 0 5
  • 今天中午,我读了一部分《海蒂的天空(下)》就跟我的好朋友薛义之去外面飞纸飞机了,因为我的爱好就是飞纸飞机,而且非常...
    先祖stone阅读 368评论 0 2
  • 1、积极向上的人生态度 2、有合理的人生目标 3、切实可行的计划 4、适当的压力
    麒麟007阅读 242评论 0 1