当前位置:凤凰彩票平台 > 股票 > javascript中for/in循环及使用技巧

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

文章作者:股票 上传时间:2019-12-11

JavaScript 扶植差别品类的巡回:

for - 循环代码块一定的次数

for/in - 循环遍历对象的性情

while - 当钦点的尺度为 true 时循环内定的代码

do/while - 相似当钦命的准则为 true 时循环内定的代码块

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存取的是每支股票(stock卡塔尔(英语:State of Qatar)的名字。      

portfolio[stock]存取的是每支股票的多寡。

for-in循环

效能:遍历对象属性,把属性名和属性值都提议来

var obj = {
 "key1":"value1",
 "key2":"value2",
 "key3":"value3"
};
function EnumaKey(){
 for(var key in obj ){
  alert(key);
 }
}
function EnumaVal(){
 for(var key in obj ){
  alert(obj[key]);
 }
}
EnumaKey(obj)
//key1 key2 key3
EnumaVal(obj)
//value1 value2 value3

  

数组也得以这么遍历,但不推荐,因为不可能承保顺序,而且只要在Array的原型上增加了品质,那本个性也会被遍历出来。

for-in循环应该用在非数组对象的遍历上,使用for-in进行巡回也被叫作“枚举”。

从才具中校,你能够行使for-in循环数组(因为JavaScript中数组也是指标),但这是不推荐的。因为只要数组对象已被自定义的效劳加强,就大概产生逻辑错误。其余,在for-in中,属性列表的顺序(种类)是无法确定保障的。所以最佳数组使用正规的for循环,对象使用for-in循环。

本文由凤凰彩票平台发布于股票,转载请注明出处:javascript中for/in循环及使用技巧

关键词: