初步认识面向对象2

2017-03-23  本文已影响2人  MGd
1.创建对象,可以通过函数来创建一个对象
    function dog(){
/*1.1创建一个对象*/
        var obj = new Object();
/*1.2设置属性*/
        obj.name = '小花';
        obj.age = 0;
        obj.dogFrends = ['小黄','小白'];
        obj.eat = function(){
            console.log('吃牛奶');
        }
        obj.run = function(){
            console.log('我家');
        }
/*返回这个对象*/
        return obj;
    }
    var smallDog = dog();
    console.log(smallDog.name);
    var bigDog = dog();
    console.log(bigDog.age);
1.创建对象,可以通过函数来创建一个对象
    function dog(name,age,dogFriends){
/*1.1创建一个对象*/
        var obj = new Object();
/*1.2设置属性*/
        obj.name = name;
        obj.age = age;
        obj.dogFrends = dogFriends;
        obj.eat = function(){
            console.log('吃牛奶');
        }
        obj.run = function(){
            console.log('我家');
        }
/*返回这个对象*/
        return obj;
    }
    var smallDog = dog('小花',0,['小白','小黄']);
    console.log(smallDog.age);
    var bigDog = dog('大花',2,['大白','大黄']);
    console.log(bigDog.age);
1.创建对象,可以通过函数来创建一个对象
    function dog(name,age,dogFriends){
/*1.1创建一个对象*/
        var obj = new Object();
/*1.2设置属性*/
        this.name = name;
        this.age = age;
        this.dogFrends = dogFriends;
        this.eat = function(){
            console.log('吃牛奶');
        }
        this.run = function(){
            console.log('我家');
        }
/*返回这个对象*/
        return obj;
    }
    var smallDog = dog('小花',0,['小白','小黄']);
    console.log(smallDog.age);
    var bigDog = dog('大花',2,['大白','大黄']);
    console.log(bigDog.age);
1.创建对象,可以通过构造函数来创建一个对象
    function Dog(name,age,dogFriends){
/*1.2设置属性*/
        this.name = name;
        this.age = age;
        this.dogFrends = dogFriends;
        this.eat = function(someThing){
            console.log( this.name+'吃'+someThing);
        }
        this.run = function(someWhere){
            console.log(this.name +'跑'+someWhere);
        }
    }
    var smallDog = new Dog('小花',0,['小白','小黄']);
    console.log(smallDog.age);
    var bigDog = new Dog('大花',2,['大白','大黄']);
    console.log(bigDog.age);
    smallDog.eat('奶');
    bigDog.eat('牛肉');
    因为参数较多的时候,我们写起来不容易,所以我们抽取一个用来存储参数的数据,这个数据一般是字典。
1.创建对象,可以通过构造函数来创建一个对象
    function Dog(option){
/*1.0判断是否传入字典*/
        var option = option ||{};
/*1.1设置属性*/
        this.name = option.name;
        this.age = option.age;
        this.dogFrends = option.dogFrends;
        this.eat = function(someThing){
            console.log( this.name+'吃'+someThing);
        }
        this.run = function(someWhere){
            console.log(this.name +'跑'+someWhere);
        }
    }
    var smallDog = new Dog({name:'小花',age:0,dogFriends:['小白','小黄']});
    console.log(smallDog.age);
    var bigDog = new Dog({name:'大花',age:2,dogFriends:['大白','大黄']});
    console.log(bigDog.age);
    smallDog.eat('奶');
    bigDog.eat('牛肉');
    alert(smallDog.eat == bigDog.eat);  //false
1.创建对象,可以通过构造函数来创建一个对象
    function Dog(option){
/*1.0判断是否传入字典*/
        var option = option ||{};
/*1.1设置属性*/
        this.name = option.name;
        this.age = option.age;
        this.dogFrends = option.dogFrends;
 }
    Dog.prototype = {
        eat:function(someThing){
            console.log( this.name+'吃'+someThing);
        },
        run:function(someWhere){
            console.log(this.name +'跑'+someWhere);
        }
    }
    var smallDog = new Dog({name:'小花',age:0,dogFriends:['小白','小黄']});
    console.log(smallDog.age);
    var bigDog = new Dog({name:'大花',age:2,dogFriends:['大白','大黄']});
    console.log(bigDog.age);
    smallDog.eat('奶');
    bigDog.eat('牛肉');
 /*1.创建对象,可以通过构造函数来创建一个对象
    function Dog(option){
/*当使用对应的构造函数创建对象的时候,我们首先调用初始化函数*/
        this._init(option);
    }
//设置原型对象
    Dog.prototype = {
/*如果放置属性一般通过初始化方法来放置属性*/
        _init:function(option){
/*1.1设置属性*/
            var option = option ||{};
            this.name = option.name;
            this.age = option.age;
            this.dogFrends = option.dogFrends;
        },//设置方法
        eat:function(someThing){
            console.log( this.name+'吃'+someThing);
        },
        run:function(someWhere){
            console.log(this.name +'跑'+someWhere);
        }
    }
    var smallDog = new Dog({name:'小花',age:0,dogFriends:['小白','小黄']});
    console.log(smallDog.age);
    var bigDog = new Dog({name:'大花',age:2,dogFriends:['大白','大黄']});
    console.log(bigDog.age);
    smallDog.eat('奶');
    bigDog.eat('牛肉');
    function dog(){
        alert(this);
    }
    dog();
//   任何一个函数动都可以通过new来创建一个对象,所以我们这个dog函数属于新创建的对象,所以这个this表示新创建地对象.
   new dog();
上一篇 下一篇

猜你喜欢

热点阅读