zoukankan      html  css  js  c++  java
  • 1.4

    1. 克隆对象

    这种写法不是对象克隆,就是把obj的内存地址赋值给obj2.

    通过for in克隆  不管是公有的还是私有的都克隆成私有的

     

    Js提供了一个一个克隆的方法 Object.create()

    Var obj2=Object.create(obj)  将obj的所有属性克隆到obj2的原型上

     

    1. 对象的继承

    1.原型继承:将父类的实例赋值给子类的原型

     这就是原型继承 将父类的私有和公有都继承在子类的原型上,成为子类的公有属性。

    2.call继承   将父类私有的继承为子类私有的

     

    3.冒充对象继承 将父类私有的和公有的都继承为子类私有的

     

    4.混合继承 私有的继承为私有的,公有的和私有的再次继承为公有的

    混合继承是call和原型继承的结合 私有的被继承了两次

     

    1. 组合继承 私有的继承为私有的 公有的继承为公有的

     

    1. 中间类继承

     

    arguments 不是一个数组,没有array的那些自带的方法,现在我们想arguments有array的那些方法,将arguments的原型执行Array内置类的原型。

    1. 笔记三遍
    2. 查面向对象

    面向对象复习

    面向对象的三大特点:封装 继承 多态/重载

    封装:减少代码冗余,提高代码的重复使用率。

    继承:子类继承父类的属性。

    多态:

    现在学习的js是EcmaScript2014(ES5) 生成类靠构造函数,ecmascript2015(es6)用class生成类。

    constructor 构造器

    1. 浏览器给每个类(函数)天生赋予一个prototype的属性,这个属性是一个对象,里面有个constructor的属性,叫构造器,指向当前的类本身

     

    1. 人为改变类的原型指向(给prototype赋值引用数据类型,基本数据类型不改变),浏览器赋予的constructor属性就不存在了可以人为添加。如果是简单的基本数据类型constructor还存在。
    2. 类在代码中扮演着三种角色,普通函数,普通对象,类
    3. 每个对象天生有一个__proto__的属性,叫原型,他指向父类的原型,obj.__proto__==Person.prototype  true

    5.prototype和__proto__都叫原型,前者是函数的属性,后者是对象的属性,前者给程序员使用后者是浏览器用于查找原型的。

    This指向

     

    对象继承

    1. 克隆对象不是将一个对象赋值给另一个对象,var obj1=obj2这不是对象克隆,是把obj2的引用地址赋值给obj1.
    2. 通过for in 和Object.create()克隆对象

    For in克隆的属性都是私有的,create()得到的属性都是公有的在原型上。

    继承

  • 相关阅读:
    笨方法学python中执行argv提示ValueError: not enough values to unpack (expected 4, got 1)
    VMware workstation安装
    Redis bigkey分析
    MySQL drop table 影响及过程
    MySQL 大表硬连接删除
    ES elasticsearch 各种查询
    ES elasticsearch 各种聚合
    ES elasticsearch 聚合统计
    ES elasticsearch 实现 count单字段,分组取前多少位,以地理位置中心进行统计
    MySQL行溢出、varchar最多能存多少字符
  • 原文地址:https://www.cnblogs.com/lizi-1com/p/10253413.html
Copyright © 2011-2022 走看看