对象属性/JS三

对象:无序键值对的集合,属于引用类型(栈保存他的堆地址,栈不保存他的真实数据)   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])
        }
    }

结果为:

猜你喜欢

转载自blog.csdn.net/qq_39112101/article/details/88856790