zoukankan      html  css  js  c++  java
  • 克隆对象及继承

    克隆对象可以通过forin克隆或者object.create()克隆

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

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

    对象的继承

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

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

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

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

    5.组合继承:私有的继承为私有的 公有的继承为公有的

    6.中间继承:将arguments的原型执行Array内置类的原型。

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

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

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

    多态:

    现在学习的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指向78

    对象继承

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

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

    继承

  • 相关阅读:
    jmeter的基本使用过程
    selenide UI自动化进阶二 pageObject实现页面管理
    Page Object 设计模式介绍
    自动化测试元素查找利器firepath介绍
    selenide 自动化UI测试中Configuration全局配置项目
    selenide 自动化测试进阶一: 查找元素和相关操作
    Selenide 简单实现自动化测试
    python操作MySQL数据库
    一次验证手机号固话号 正则表达式
    算法入门刷题笔记 算法竞赛入门经典++第六章例题 6-6--6-9,6-12,6-14,6-15 树与二叉树
  • 原文地址:https://www.cnblogs.com/zzz035921/p/10235391.html
Copyright © 2011-2022 走看看