面向对象

如何获取该变量(对象)是不是属于什么类型的?
语法:
*变量 instanceof 类型的名字----->布尔类型,true就是这种类型,false不是这种类型
在当前的对象的方法中,可以使用this关键字代表当前的对象

创建对象三种方式:

1.调用系统的构造函数创建对象

 var 变量名= new Object(); Object 是系统的构造函数  Array
  实例化对象
    var obj = new Object(); // TODO: O大写
     添加属性-----如何添加属性? 理解为特征  对象.名字=值;
   obj.age = 38;
    obj.sex = "女";
    添加方法----如何添加方法?理解为行为  对象.名字=函数;
    obj.eat = function () {
      console.log("喜欢吃榴莲");
    };
   
    obj.cook = function () { 
      console.log("切菜");
      console.log("把菜放进去");
      console.log("凉水过一下");
      console.log("放料,吃");
    };
   
    console.log(obj.age); //获取--输出了
    console.log(obj.sex);
    //方法的调用
    obj.eat();
    obj.cook();

2.自定义构造函数创建对象

函数和构造函数的区别;名字是不是大写(首字母是大写)
//自定义构造函数创建对象,我要自己定义一个构造函数,自定义构造函数,创建对象
  
    function Person(name,age) {
      this.name=name;
      this.age=age;
      this.sayHi=function () {
        console.log("我叫:"+this.name+",年龄是:"+this.age);
      };
    }
//自定义构造函数创建对象:先自定义一个构造函数,创建对象
    var obj=new Person("小明",10);
    console.log(obj.name);
    console.log(obj.age);
    obj.sayHi();

//用instanceof 判断一个变量是否某个对象的实例
    console.log(obj instanceof Person);
    console.log(obj2 instanceof  Person);

======我是分割线================================
    //在来自定义狗的构造函数,创建对象
    function Dog(name,age,sex) {
      this.name=name;
      this.age=age;
      this.sex=sex;
    }
    var dog=new Dog("大黄",20,"男");
    console.log(dog instanceof Person);//false
    console.log(dog instanceof Dog);

那么 var dog=new Dog("大黄",20,"男");这句做了什么事?
   * 1. 在内存中开辟(申请一块空闲的空间)空间,存储创建的新的对象
    * 2. 把this设置为当前的对象
    * 3. 设置对象的属性和方法的值
    * 4. 把this这个对象返回




3.字面量的方式创建对象

 var obj2={
      name:"小明",
      age:20,
      sayHi:function () {
        console.log("我是:"+this.name);
      },
      eat:function () {
        console.log("吃了");
      }
    };
    obj2.sayHi();
    obj2.eat();

面向对象中json数据如何实现循环

 var json = {
      "name": "小明",
      "age": "10",
      "sex": "男"
    };

        for(var key in json){
            console.log(json[key]);
        }
    //对象中确实有这个属性对象.属性名字  或者对象[属性名字]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容