zoukankan      html  css  js  c++  java
  • JS 对象的三种创建方式

    变量 instanceof 类型的名字----->布尔类型,true就是这种类型,false不是这种类型
    在当前的对象的方法中,可以使用this关键字代表当前的对象
     
    1.调用系统的构造函数创建对象
      var 变量名= new Object(); Object 是系统的构造函数 Array
        添加属性-----如何添加属性? 对象.名字=值;   
        修改属性-----如何修改属性? 对象.名字=值;
        添加方法-----如何添加方法? 对象.名字=函数;
        属性调用-----对象名.属性 或者 对象名[“属性名”];
        方法调用-----对象名.方法名
    //有一个黄色的小狗,叫大黄,今年已经三岁了,250斤的重量每次走路都很慢,喜欢吃大骨头
        var dog = new Object();
        dog.name = "大黄";
        dog.age = 3;
        dog.weight = 250;
        dog.walk = function () {
          console.log(this.name + "它" + this.weight + '斤' + '走路很慢');
          console.log(this.name + '喜欢吃大骨头');
        }//this 目前是指 谁调用这个函数就指向谁 更加深层的还不知道 
        console.log(dog.name);
        console.log(dog.age);
        console.log(dog.weight);
        dog.walk();
    2.自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象)
    
    
    //如何一次性创建多个对象?把创建对象的代码封装在一个函数中
    //工厂模式创建对象
    function createObject(name, age, sex) {
      //创建对象
      var obj = new Object();
      //添加属性
      obj.name = name;
      obj.age = age;
      obj.sex = sex;
      //添加方法
      obj.walk = function () {
        console.log(this.name + " " + '性别:' + this.sex + " " + "今年:" + this.age + " " + "爱走路");
      };//在当前的对象的方法中,可以使用this关键字代表当前的对象
      return obj;//注意 注意 一定记得把obj返回
      }
    //创建第一个对象
    var xiaohong = createObject("小红", 18, "女");
    xiaohong.walk()
    //创建第二个对象
    var xiaoming = createObject("小明", 28, "男");
    xiaoming.walk()
     
    //自定义构造函数创建对象,我要自己定义一个构造函数,自定义构造函数,创建对象
        //函数和构造函数的区别;名字是不是大写(首字母是大写)
        //自定义狗的构造函数,创建对象
        function Dog(name, age, sex) {
          this.name = name;
          this.age = age;
          this.sex = sex;
          this.chi= function() {
            console.log("它叫"+this.name+" " + '今年:' + this.age +"岁"+ ' ' + this.sex);
          }
        }
        //自定义构造函数创建对象:先自定义一个构造函数,创建对象
        var dabai = new Dog("大白","3","公");//记得这里得用 new 创建对象
        dabai.chi();
    3.字面量的形式创建对象
    var obj ={
      name:"小明",//直接设置属性 中间用逗号隔开
      age:18,
      eat: function(){
        console.log("吃饭了");
      },//方法也直接设置
      sayHi:function(){
        console.log("我是"+this.name+" "+"我今年"+this.age)
      }
    }
    obj.eat();
    obj.sayHi();
     
  • 相关阅读:
    angularjs中的jqlite的认识理解及操作使用
    轻谈Normalize.css
    oppo R9 WLAN使用代理图解
    前端小炒的win7使用笔记(收藏篇)
    git操作方便,简单使用的客户端sourcetree 安装配置所遇问题总结
    关于js中对事件绑定与普通事件的理解
    IT最新最火的网络词汇*2*(文章来源电商)
    Git笔记之初识vi编辑器
    番茄钟工作法--我们天生爱分享
    探讨"点"语法的奥秘
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10502164.html
Copyright © 2011-2022 走看看