JS对象知识点

一、对象是一个事物所具有的某些特征,行为。定义对象,直接定义

var dog = {
        // 属性
        name: "旺财",
        age: 10,
        dogFriends: ["阿黄", "阿菜", "飞毛腿"],

        // 方法
        eat:  function () {
            console.log("吃");
        },

        run: function () {
            console.log("跑");
        }
    };//定义了一个对象
    /*console.log(typeof dog);
    console.log(dog);//输出该对象

    dog.name = "张三";
    console.log(dog.name);

    dog.eat();*/

    // 对对象进行遍历
    /*for(var i=0; i<dog.length; i++){
        console.log(dog[i]);
    }*/
//不可以用平常的办法对对象进行遍历

    for(var key in dog){
        console.log(key);
        console.log(dog[key]);
    }//只能通过这种方法对对象进行遍历输出

二、函数

function Person() {
        var obj = new Object();
        // 属性
        obj.name = null;
        obj.age = null;
        obj.sex = null;

        // 方法
        obj.study = function () {
            console.log(this.name + "在学习");
        };

        obj.sleep = function () {
            console.log(this.name + "在睡觉");
        };

        return obj;
    }


    // 2. 属性和方法
    var p =  Person();
    p.name = "张三";
    p.age = 18;
    p.sex = "男";
    console.log(p);
    p.study();//张三在学习

    var p1 = Person();
    p1.name = "李四";
    console.log(p1);

三、

    // 1. 构造函数
    function Dog(name, age, dogFriends) {
        // 1.1 属性
        this.name = name;
        this.age = age;
        this.dogFriends = dogFriends;

        // 1.2 方法
        this.eat = function (someThing) {
            console.log(this.name + "在吃" + someThing);
        };

        this.run = function (someWhere) {
            console.log(this.name + "跑" + someWhere);
        }
    }

    // 小狗
    var smallDog = new Dog("小花", 1);
    smallDog.age = 10;
    console.log(smallDog);

    smallDog.eat("奶");
    smallDog.run("天河公园");

    // 大狗
    var bigDog = new Dog("大花", 10, ["大大", "小小"]);
    console.log(bigDog);

    console.log(bigDog === smallDog);

四、

function Dog(option) {
        // 1.1 属性
        this.name = option.name;
        this.age = option.age;
        this.dogFriends = option.dogFriends;

        // 1.2 方法
        this.eat = function (someThing) {
            console.log(this.name + "在吃" + someThing);
        };

        this.run = function (someWhere) {
            console.log(this.name + "跑" + someWhere);
        }
    }

    // 小狗
    var smallDog = new Dog({name:"小花", age:1});
    smallDog.age = 10;
    console.log(smallDog);

    smallDog.eat("奶");
    smallDog.run("天河公园");

    // 大狗
    var bigDog = new Dog({name: "大花", age: 10, dogFriends: ["大大", "小小"]});
    console.log(bigDog);

    console.log(bigDog === smallDog);

五、

    // var arr = [];


   /* var arr1 = new Array();
    var obj2 = new Object();*/

    var obj = {
        name: "张安",
        eat: function () {
            alert("吃");
        }
    };


    obj.age = 19;
    console.log(obj.age);
    obj.name = "张三";
    console.log(obj.name);
    console.log(obj);

    obj.eat = function () {
       alert("喝");
    };
   // obj.eat();

    obj.run = function () {
        alert("跑");
    };
    obj.run();

六、

// 1. 构造函数
    function Dog(option) {
    // 1.1 属性
    this.name = option.name;
    this.age = option.age;
    this.dogFriends = option.dogFriends;

    // 1.2 方法
    /*this.eat = function (someThing) {
    console.log(this.name + "在吃" + someThing);
    };

    this.run = function (someWhere) {
    console.log(this.name + "跑" + someWhere);
    }*/
    }

    /*
    Dog.prototype.eat = function (someThing) {
        console.log(this.name + "在吃" + someThing);
    };

    Dog.prototype.run = function (someWhere) {
        console.log(this.name + "跑" + someWhere);
    };
    */

    Dog.prototype = {
        eat: function (someThing) {
            console.log(this.name + "在吃" + someThing);
        },

        run: function (someWhere) {
            console.log(this.name + "跑" + someWhere)
        }
    };

    // 小狗
    var smallDog = new Dog({name:"小花", age:1});
    smallDog.age = 10;
    console.log(smallDog);

    smallDog.eat("奶");
    smallDog.run("天河公园");

    // 大狗
    var bigDog = new Dog({name: "大花", age: 10, dogFriends: ["大大", "小小"]});
    console.log(bigDog);

    console.log(bigDog === smallDog);


    console.log(smallDog.eat === bigDog.eat);

七、

 // 1. 构造函数
    function Dog(option) {
       this._init(option);
    }

    Dog.prototype = {
        _init: function (option) {
            // 1.1 属性
            this.name = option.name;
            this.age = option.age;
            this.dogFriends = option.dogFriends;
        },

        eat: function (someThing) {
            console.log(this.name + "在吃" + someThing);
        },

        run: function (someWhere) {
            console.log(this.name + "跑" + someWhere)
        }
    };





    // 小狗
    var smallDog = new Dog({name:"小花", age:1});
    smallDog.age = 10;
    console.log(smallDog);

    smallDog.eat("奶");
    smallDog.run("天河公园");

    // 大狗
    var bigDog = new Dog({name: "大花", age: 10, dogFriends: ["大大", "小小"]});
    console.log(bigDog);

    console.log(bigDog === smallDog);

    console.log(smallDog.eat === bigDog.eat);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值