对象:无序键值对的集合,属于引用类型(栈保存他的堆地址,栈不保存他的真实数据) var obj={ }
定义:糖衣法
/*伪代码 this在每个函数身上都有*/
function Person() {
var that=new Object()
that.name=''
that.hobby=''
that.eat=function () {
}
this=that
return this
}
普通函数的this是指顶级对象
function a() {
console.log(this)//普通函数的this是指顶级对象
}
对象函数指的的是对象本身
var obj={
/*不写数值是保存null*/
/*this指对象本身,相当于python的self*/
id:1200,
name:'wang',
salary:2300,
hobby:'18 years girl',
eat:function () {
console.log(name+"喜欢吃榴莲")
}
}
console.log(obj.eat())//调用eat函数
输出obj的属性
var obj={//相当于python的类
/*不写数值是保存null*/
/*this指对象本身,相当于python的self*/
id:1200,
name:'wang',
salary:2300,
hobby:'18 years girl',
eat:function () {
console.log(name+"喜欢吃榴莲")
}
}
console.log(obj.name)//输出obj的属性
对象的属性
var obj={//相当于python的类
/*不写数值是保存null*/
/*this指对象本身,相当于python的self*/
id:1200,
name:'wang',
salary:2300,
hobby:'18 years girl',
eat:function () {
console.log(name+"喜欢吃榴莲")
}
}
console.log(obj.name)//输出obj的属性
for (var index in obj){
console.log(index,obj[index])
}
结果为:
判断数据的基本类型 typeof
判断引用类型 instanceof
var obj={//相当于python的类
/*不写数值是保存null*/
/*this指对象本身,相当于python的self*/
id:1200,
name:'wang',
salary:2300,
hobby:'18 years girl',
eat:function () {
console.log(name+"喜欢吃榴莲")
}
}
console.log(obj.name)//输出obj的属性
for (var index in obj){
/*判断数据的基本类型 typeof
判断引用类型 instanceof
*/
/*不是对象的属性进行输出*/
if (!(obj[index] instanceof Object)){
console.log(index,obj[index])
}
}
结果为: