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

    var a=[1,2,3];
    var b=a;
    b=[1,2,3,4];
    alert(a)

    继承一:复制继承

    children:子类
    Parent:父类

    attribute:Parent.call(this,name,sex)
    //这个一般是指构造函数里的属性,这个值是每个对象都不一样的

    method:children.prototype=Parent.prototype->对象的引用(地址是一个,修改会改变其它的值)

    继承二:类式继承--new构造函数

    把JS中的构造函数看做类

    Bbb.prototype = new Aaa();//把构造函数也继承了
    Aaa:constractor
    
    问题:子类的构造函数也被覆盖成Aaa的;
    Bbb.prototype.constructor = Bbb; //修正指向问题
    
    function Aaa(){
    	this.name = [1,2,4];
    }
    
    Aaa.prototype.showName = function(){
    	alert(this.name);
    }
    
    function Bbb(){
    	Aaa.call(this);
    }
    
    
    /** 解决Aaa的构造函数共享问题
    var F = function(){}
    F.prototype = Aaa.prototype;
    Bbb.prototype = new F();
    Bbb.prototype.constructor = Bbb;
    **/
    
    var b1 = new Bbb();
    b1.name.push(4);
    
    var b2 = new Bbb();
    
    console.log(b2.name)

    继承一:原型继承--无new的对象

    var a={
    	name:'小明'
    }
    
    var b=cloneObj(a);
    b.name='lisa';
    
    b={
    	name:'1111'
    }
    
    alert(b.name); //就近原则,找不到才到原型链里找
    alert(a.name);
    
    function cloneObj(obj){
    	var F=function(){};
    	F.prototype = obj;
    	return new F();
    }
  • 相关阅读:
    python自省函数getattr的用法
    python-mysqldb安装
    weblogic部署脚本
    netcat使用
    ssh批量互信脚本
    yum安装出错
    centos文件误删除恢复
    lamp php的ssl,ssh支持
    ssh免密码登陆
    python 学习笔记 四 条件, 循环以及其他
  • 原文地址:https://www.cnblogs.com/lisa2544/p/5512610.html
Copyright © 2011-2022 走看看