关于javscrtipt构造函数、oop思想的一些理解及demo


var _obj = new Object();

    _obj.name = '小强';
    console.log(_obj.name);

    _obj.setName = function (name) {
        this.name = name;
        console.log('修改了名字:' + name);
    };
    _obj.setName('小明');


    /*function CreatSun(name) {
        var _this = this;
        console.log(_this);
        var obj = new Object();
        obj.name = 'hh';
        console.log(obj.name);
        obj.SetName = function (name) {
            this.name = name;
            console.log(obj.name);
            console.log('设置了名字:' + name);
        }
        return obj;
    }
    CreatSun().SetName('太阳');
    CreatSun().SetName('月亮');*/

    function CreatSunTwo(name) {
        this.name = name;
        console.log(this.name + name);
        this.SetName = function (name) {
            console.log(name);
            this.name = name;
            console.log(this.name + name);
            console.log('设置了名字:' + name);
        };
    }
    var q1 = new CreatSunTwo('星星');
    q1.SetName('水星');

    var a = [1, 2, 3];
    var b = [1, 2, 3];
    console.log(a == b) //false

    var a = [1, 2, 3];
    var b = a;
    b = [1, 2, 3, 4];
    console.log(a) //a [1,2,3]
    console.log(b) //b [1,2,3,4]

    var a = [1, 2, 3];
    var b = a;
    b.push(4);
    console.log(a) //a [1,2,3,4]
    console.log(b) //b [1,2,3,4]

    /* 抽象(抽取 具象)抓住核心问题
     * 封装 只能通过对象来访问方法
     * 继承 从已有对象上继承出新的对象
     * 多态 多对象的不同形态
     */
    //prototype 
    //面向对象混合式的写法 原型+函数
    /*function 构造函数(){
        this.属性;
    }
    构造函数.原型.方法=function(){
    
    }
    var 对象1= new 构造函数();
    对象1.方法();*/

声明:麋鹿与鲸鱼|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 关于javscrtipt构造函数、oop思想的一些理解及demo


Carpe Diem and Do what I like