JSLint一直在抱怨这样的事情
var myArray = [1,2,3];
for (var value in myArray)
{
   // BLAH
}

说我应该把它包装在if语句中.我知道如果你在一个对象的属性上循环,你需要包装它,但是我应该在if语句中放入什么来进行正确的过滤.

另外,当我做类似的事情

for (var i = 0; i < 10; i++)
{
   // foo
}

for (var i =0; i < 20; i++)
{
   // bar
}

它抱怨说我已经被定义了.除了使用不同的变量名之外,我该如何防止这种情况?

解决方法

JSLint发出了许多并不是真正有害的东西.在这种情况下,抱怨for …是正确的,因为这是循环数组的错误构造.

这是因为您不仅会获得数字键,还会获得已添加到数组或其Array.prototype中的任何其他任意属性.后者通常来自框架添加的扩展实用程序功能.

虽然你可以用hasOwnProperty打败那个案例来检查它不是原型成员,但是它比用(for var = 0 …)的正确方法更难以解决,所以为什么要这么麻烦.

此外,对于… in,您不一定会按照您的预期按数字顺序获取项目.

It complains that i has already been defined. How do I prevent this other than using different variable names?

是的,你可以忽略那一个.

它希望你从第二个中删除var(i …,因为在同一范围内两次声明一个变量没有做任何事情.但是我建议将var留在那里,因为它不会造成任何伤害,并且如果你将循环移动到另一个块,你不希望它突然在全局变量上涂鸦.

用Javascript中的if语句包装for循环 – 循环遍历数组的更多相关文章

  1. ios – 等待异步方法在for循环中完成

    我有一个包含三个异步方法的for循环,我希望在这3个异步方法完成后进行一些处理.你有任何技术可以得到这个结果吗?

  2. Swift语法基础:17 - Swift的For循环, While, Do-While, If, Switch

    在Swift中,也有控制流,分别是For,For-In,For条件递增,While,Do-While等等,让我们一起来探讨一下:1.For循环在Swift中提供两种循环,一种是For-In,另一种是For条件递增,先来看第一种:如果你不需要知道范围内每一项的值,你可以使用下划线(_)替代变量名来忽略对值的访问:在前面数组和字典的遍历就已经举过例子了,所以这里就不再列举了.2.For条件递增在Swi

  3. Swift for 的几个例子

  4. [anyObject] 类型推断 Type Casting

    在swift中,如果遍历一个集合,可能就需要用到类型推断方式二:适合多种类型的混合,在for循环里,如果是多种类型,就进行多种类型的判断添加if-else

  5. 【swift】15-0521 控制流---for,while,do-while

    for-in循环for被乘数in1…5{println}let底=3let幂=10var结果=1for_in1…幂{结果*=底}println在数组与字典中循环打印出其中所有元素。)}elseif{println(“很遗憾遇到蛇,后退(-前进步数)!”)do-while循环—先执行一次循环体再判断

  6. Swift - Swift数组迭代

    依据不同情形,swift提供很多种方式对数组进行迭代比如有如下数组:1.通过变量递增的for循环2.使用Range操作符3.使用enumerate进行枚举

  7. swift 基础笔记七for循环

  8. Swift教程之循环语句

  9. Swift在for循环中报错'++' is not a binary operator

    是在写for循环的时候出现语法错误。点击前往文档地址其中有一段话介绍了运算符的前缀、后缀特性,摘录如下:Thewhitespacearoundanoperatorisusedtodeterminewhetheranoperatorisusedasaprefixoperator,apostfixoperator,orabinaryoperator.Thisbehaviorissummarizedinthefollowingrules:Ifanoperatorhaswhitespacearoundbothsi

  10. Swift - 流程控制

    switch分支语句switch语句由一个控制表达式和多个case标签组成。不存在隐式贯穿与C语言和Objective-C中的switch语句不同,在Swift中,当匹配的case分支中的代码执行完毕后,程序会终止switch语句,而不会继续执行下一个case分支。For循环Swift提供两种for循环形式以来按照指定的次数多次执行一系列语句:for-in循环对一个集合里面的每个元素执行一系列语句。Swift有四种控制转移语句:continue、break、fallthrough、return、throw

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部