JavaScript之对象枚举

对象的访问有两种方法,第一种是对象名.属性名(obj.name)、第二种是对象名['属性名'](obj['name'])。

其实第一种是在内部变成第二种的形式,然后再执行。

var obj = {
name : "wang";
age : 20;
sex : "male";
}
console.log(obj['name']);

这种也是有好处,看下面例子。

var obj = {
	color1 : { name : "red"},
	color2 : { name : "blue" },
	color3 : { name : "green" },
}
function color(num) {
	console.log(obj['color' + num]['name']);
}
color(2);

    这种方法可以运用隐式转换的形式进行对象方法的调用。

    对象的枚举

            对象的枚举也叫对象的遍历(enumeration)。

        for in
            我们知道访问数组和字符串的某一个元素,我们可以用for循环,循环访问,这是在我们知道长度(length)的情况下,而对象我们是无法知道它的长度的,所以我们现在可以用for in 遍历出对象的每一个属性。
var obj = {
name : "wang",
age : 20,
sex : "male",
}
for(var num in obj){
console.log(obj[num]);
}
        注意:在这里不能使用obj['num'],如果这样的话系统会默认成num是一个属性,去obj对象里面找这个属性。所以去掉引号就是正确的。
        hasOwnProperty
            用for in遍历属性的时候,当属性值是原型中的属性的时候也是会遍历出来的,hasOwnProperty可以过滤掉原型中的属性。
            使用方法:obj.hasOwnProperty(num), hasOwnProperty返回的是一个Boolean值。
var obj = {
name : "wang",
age : 20,
sex : "male",
}
for (var num in obj){
if(obj.hasOwnProperty(num)){
console.log(obj[num]);
}
}
 in
        in 判断属性是否属于对象,原型的也算。
var obj = {
name : "wang",
age : 20,
}
console.log('name' in obj);
//true
instanceof
function B(){}
var A = new B(); A instanceof B
定义:  A对象是不是B构造函数构造出来的(官方)。

定理:  在A这条原型链上,有没有一个节点是B的原型。

返回值 : Boolean。

        
JavaScript语言我个人感觉是最有意思的了,我也是一个初学者,遇到问题,喜欢在博客上分享,
也希望能帮到大家。 一个初学者,有什么不足或者纰漏的话,希望在下面评论出来,相互学习,共同进步。
         --主页传送门--
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值