如何获取该变量(对象)是不是属于什么类型的?
语法:
*变量 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]);
}
//对象中确实有这个属性对象.属性名字 或者对象[属性名字]