javascript中for/in循环介绍及使用技巧

 1. in运算符:要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数是一个对象或数组。如果该运算符左边的值是右边对象的一个属性名,则返回true。

例如:var point={x:1,y:2}; //对象直接量
      var has_x="x" in point; //返回true
      var has_z="z" in point; //返回false
      var ts="toString" in point;//返回true,toString为继承方法

   2. for/in语句:语法,for (variable in object)
                            statement;
      提供了一种遍历对象属性的方法。

例:for(var prop in my_object) {
        document.write("name:"+prop+";value:"+my_object[prop],"<br>");
    }
      javascript的数组是一种特殊的对象,因此for/in循环可以像枚举对象属性一样枚举数组下标。
可以把一个对象的所有属性名复制到一个数组中,
例:var o= {x:1,y:2,z:3};
    var a=new Array();
    var i=0;
    for (a[i++] in o) 
    ;//空语句,用于初始化数组

    3. in运算符与for/in语句不同,for/in语句in的左边可以是声明一个变量的var语句,数组的一个元素或者是对象的一个属性,不能使字符串。

    4. 数组常用的存取属性运算符是“[]”,而不是“.”。使用“[]”来命名属性名师字符串值,是动态的,可以在运行时改变,而不是一个标识符“.”。

例:var stock_name= get_stock_name_from_user();//从用户处获取股票名
    var share= get_number_of_shares();//得到股票数量
    portfolio[stock_name]= share;//动态地创建数组股票,并为每支股票赋值
    将该例子与for/in循环一起使用,当用户输入了他的投资组合,可以计算当前总值
    var value= 0;
    for (stock in portfolio) {
       value +=get_share_value(stock)*portfolio[stock];
    }
stock存取的是每支股票的名字。      
portfolio[stock]存取的是每支股票的数量。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值