JavaScript中“过于”犀利地for/in循环使用示例

Java中的增强for循环很是好用


代码如下:

for (String str : list) {
System.out.println(str);//其中str直接就是集合中的元素
}

但是JavaScript中为我们提供的for/in循环已然不是这么简单了


代码如下:

var car
var garage= new Array()
garage[0] = "宝马"
garage[1] = "奔驰"
garage[2] = "宾利"
for (car in garage)
{
document.write(garage[car] + " ")
}
//输出结果: 宝马 奔驰 宾利

看起来我得到我的车列表了

但是现在我对我的车库有更高的要求,我希望它可以上锁,并且能够自行清洁

于是


代码如下:

var car
var garage= new Array()
garage[0] = "宝马"
garage[1] = "奔驰"
garage[2] = "宾利"
garage.locked = true
garage.clean = function(){
alert("清洁")
}
for (car in garage)
{
document.write(garage[car] + " ")
}
//输出结果:宝马 奔驰 宾利 true function (){ alert("清洁") }

好嘛,它把自己知道的都说了出来

为了避免这种尴尬我们只好用回原始for循环


代码如下:

var car
var garage= new Array()
garage[0] = "宝马"
garage[1] = "奔驰"
garage[2] = "宾利"
garage.locked = true
garage.clean = function(){
alert("清洁")
}
for (car = 0;car < garage.length;car++)
{
document.write(garage[car] + " ")
}
//输出结果:宝马 奔驰 宾利

恩,这下好多了。

(0)

相关推荐

  • Javascript学习笔记之 对象篇(四) : for in 循环

    先上范例: // Poisoning Object.prototype Object.prototype.bar = 1; var foo = {moo: 2}; for(var i in foo) { console.log(i); // prints both bar and moo } 这里我们要注意两点,一是 for in 循环会忽略 enumerable 设置为 false 的属性.例如一个数组的 length 属性.第二是,由于 for in 会遍历整个原型链,所以当原型链过长时,会

  • javascript闭包传参和事件的循环绑定示例探讨

    今天看到一个javascript的题目,按常理循环绑定事件,但是得到的结果却不是想要的. 复制代码 代码如下: <a href="#">text</a> <br> <a href="#">link</a> <script> var as = document.getElementsByTagName('a'); for ( var i = as.length; i--; ) { as[i].on

  • JavaScript运行机制之事件循环(Event Loop)详解

    一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM.这决定了它只能是单线程,否则会带来很复杂的同步问题.比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线

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

    JavaScript 支持不同类型的循环: for - 循环代码块一定的次数 for/in - 循环遍历对象的属性 while - 当指定的条件为 true 时循环指定的代码块 do/while - 同样当指定的条件为 true 时循环指定的代码块 1. in运算符:要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数是一个对象或数组.如果该运算符左边的值是右边对象的一个属性名,则返回true. 例如: var point={x:1,y:2}; //对象直接量 var has_x=

  • JavaScript中对循环语句的优化技巧深入探讨

    循环是所有编程语言中最为重要的机制之一,几乎任何拥有实际意义的计算机程序(排序.查询等)都里不开循环. 而循环也正是程序优化中非常让人头疼的一环,我们往往需要不断去优化程序的复杂度,却因循环而纠结在时间复杂度和空间复杂度之间的抉择. 在 javascript 中,有3种原生循环,for () {}, while () {}和do {} while (),其中最为常用的要数for () {}. 然而for正是 javascript 工程师们在优化程序时最容易忽略的一种循环. 我们先来回顾一下for

  • javascript中的循环语句for语句深入理解

    程序实现中经常要用到循环语句,其中for循环是多数语言都有的.在javascript中,for循环有几种不同的使用情况,下面就分别来讲述我的理解. 第一种:(通常情况,循环执行相关操作) 复制代码 代码如下: var objA=document.getElementsByTagName("a"); var i,max; for(i=0,max=objA.length;i<max;i++){ objA[i].onclick=function(){ alert(this.innerH

  • JavaScript中“过于”犀利地for/in循环使用示例

    Java中的增强for循环很是好用 复制代码 代码如下: for (String str : list) { System.out.println(str);//其中str直接就是集合中的元素 } 但是JavaScript中为我们提供的for/in循环已然不是这么简单了 复制代码 代码如下: var car var garage= new Array() garage[0] = "宝马" garage[1] = "奔驰" garage[2] = "宾利&q

  • 深入浅析JavaScript中的in关键字和for-in循环

    1.in关键字 属性名 in 对象,用来判断某个属性在对象中是否存在与其严格相等的属性名,返回boolean值 属性名必须是字符串或数字 var obj = { a : 1, b : 2 } console.log('a' in obj);//返回true,obj对象中存在a属性名 var arr = [12,11,10]; console.log(12 in arr);//返回false,原因arr数组中12,11,10三个值对应的属性名分别是0,1,2 2.for-in循环 for(var

  • JavaScript正则表达式exec/g实现多次循环用法示例

    本文实例讲述了JavaScript正则表达式exec/g实现多次循环用法.分享给大家供大家参考,具体如下: var x = "a.xxx.com b.xxx.com c.xxx.com"; 希望得到 ["a","b","c"] 这三个结果 1. 正则需要 添加 g 2. exec 循环,直到返回空 代码如下,会输出 a b c var x = "a.xxx.com b.xxx.com c.xxx.com";

  • javascript中的绑定与解绑函数应用示例

    Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点.document.window 或 XMLHttpRequest. type: 字符串,事件名称,不含"on",比如"click"."mouseover"."keydown"等. listener :实现了 EventListene

  • 在JavaScript中判断整型的N种方法示例介绍

    整数类型(Integer)在JavaScript经常会导致一些奇怪的问题.在ECMAScript的规范中,他们只存在于概念中: 所有的数字都是浮点数,并且整数只是没有一组没有小数的数字. 在这篇博客中,我会解释如何去检查某个值是否为整型. ECMAScript 5 在ES5中有很多方法你可以使用.有时侯,你可能想用自己的方法:一个isInteger(x)的函数,如果是整型返回true,否则返回false. 让我们看看一些例子. 通过余数检查 你可以使用余数运算(%),将一个数字按1求余,看看余数

  • shell基础学习中的字符串操作、for循环语句示例

    复制代码 代码如下: #!/bin/bashmy_name="jxq" echo $my_nameecho ${my_name} # ------------------------------------# 字符串操作# ------------------------------------ # 单引号字符串的限制,双引号没有这些限制:# 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的# 单引号字串中不能出现单引号(对单引号使用转义符后也不行)name="w

  • Javascript中数组去重与拍平的方法示例

    数组的判断 在说如何进行数组的去重和拍平之前,先说一下怎么判断数组,因为要进行数组的处理当然要先判断下传过来的数据是不是数组. 首先我们都知道js的数据类型只有5种,分别是Undefined.Null.Boolean.Number和String,数组只是一个对象,用typeof([])返回的结果知识一个Object的字符串,因此我们需要通过其他手段来判断它,这里就说两种方法. 第一种用instenceof方法 instanceof是ES5提供的一个方法,它可以用来判断实例是否是某个类的实例,例如

  • JavaScript中this函数使用实例解析

    这篇文章主要介绍了JavaScript中this函数使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 普通函数 普通函数中的this,普通函数中的this表示调用此函数时的对象,如下例: var x=11; var obj={ x:22, say:function(){ console.log(this.x) } } obj.say(); //console.log输出的是22 //调用say函数的是对象obj,所以this指代对象o

随机推荐