for(var i in items) 和 for(var i;i<items.length;i++) 区别
前者循环的是属性,后者循环的才是数组。 若项目中对数组属性进行了扩展,那切记不能使用前者,否则在循环数组时扩展的函数体也会被当做数据返回。 var data = { p1:1, p2:"b" }; for (var i in data){ alert(eval("data." + i)); } for(var i in items) 慎用 尤其在需要兼容IE8时。

eg:
var data=
[
{
"LAY_TABLE_INDEX": 0,
"createTime": "2019-11-20 17:13:11",
"createUser": "8",
"id": 92,
"mergeFlag": 0,
"onlineFlag": 0,
"querySql": "select u.user_login_name as userLoginName,u.user_name as userName,u.user_status as userStatus,r.role_name as roleName,u.creator,u.create_time as createTime,u.modifier,u.update_time as updateTime from system_user u left join system_user_role ur on ur.user_id=u.user_id left join system_role r on ur.role_id=r.role_id",
"reportName": "用户统计报表",
"reportType": "",
"tableHeaderLevel": 3
},
{
"LAY_TABLE_INDEX": 1,
"createTime": "2019-11-20 17:13:11",
"createUser": "8",
"id": 93,
"mergeFlag": 1,
"querySql": "select section_owner_name as owner,section_name as roadsubsection,toll_station_name as tollstation,lanetype as lanetype,cardtype as cardtype,type as inletandoutlet,bus1 as passenger1,bus2 as passenger2,bus3 as passenger3,bus4 as passenger4,bus_traffic as subtotal1,truck1,truck2,truck3,truck4,truck5,truck_traffic as subtotal2,traffic as total from st_etc_day_all_sum_dm_20191028",
"reportBore": "fdsafd",
"reportName": "ETC使用率报表修改",
"reportType": "",
"tableHeaderLevel": 4
},
{
"LAY_TABLE_INDEX": 2,
"createTime": "2019-12-05 14:51:09",
"createUser": "8",
"id": 104,
"mergeFlag": 0,
"onlineFlag": 0,
"querySql": ",select section_owner_name ,section_name as roadsubsection,toll_station_name as tollstation,bus1 as passenger1,bus2 as passenger2,bus3 as passenger3,bus4 as passenger4,bus_traffic as subtotal1,traffic as total from st_etc_day_all_sum_dm_20191028",
"reportBore": "fdgfds",
"reportName": "ETC使用率报表96",
"reportType": "1",
"tableHeaderLevel": 3
},
{
"LAY_TABLE_INDEX": 3,
"createTime": "2019-12-05 14:59:14",
"createUser": "8",
"id": 106,
"mergeFlag": 0,
"onlineFlag": 0,
"querySql": "select section_owner_name ,section_name as roadsubsection,toll_station_name as tollstation,bus1 as passenger1,bus2 as passenger2,bus3 as passenger3,bus4 as passenger4,bus_traffic as subtotal1,traffic as total from st_etc_day_all_sum_dm_20191028",
"reportBore": "dsddfdf",
"reportName": "ETC使用率报表修改",
"reportType": "1",
"tableHeaderLevel": 3
},
{
"LAY_TABLE_INDEX": 4,
"accountPerType": 1,
"createTime": "2019-12-19 10:04:27",
"createUser": "8",
"id": 107,
"mergeFlag": 1,
"onlineFlag": 0,
"querySql": "select id,type,mjnumber,source,sum,secussssum,secusslv,descf from hsop_test order by id",
"reportBore": "测试合并",
"reportName": "测试合并",
"reportType": "1",
"tableHeaderLevel": 2
},
{
"LAY_TABLE_INDEX": 5,
"accountPerType": 1,
"createTime": "2019-12-19 10:56:44",
"createUser": "8",
"id": 108,
"mergeFlag": 1,
"onlineFlag": 0,
"querySql": "select id,type,mjnumber,source,sum,secussssum,secusslv,descf from hsop_test order by id",
"reportBore": "dddd",
"reportName": "wenjinhong",
"reportType": "1",
"tableHeaderLevel": 2
}
] for (var item in data) {
console.log(data[item]);
console.log(data[item].id); }
结果:

for(var i in items) 和 for(var i;i<items.length;i++) 区别的更多相关文章
- 使用var声明的变量 和 直接赋值并未声明的变量的区别
在看JS高级程序设计时忽然想到这个问题,众所周知,直接赋值一个变量而为声明,会产生一个全局变量(或者说是全局对象的属性),但用var声明的变量 和 直接赋值而并未声明的变量 都有哪些区别呢,这是我在百 ...
- php中的var关键字的用法总结(var在类外用报错)(类属性必须带限定词)
php中的var关键字的用法总结(var在类外用报错)(类属性必须带限定词) 一.总结 1.var在类外用报错:如果不是在类中,用var定义变量是错的. 2.类属性必须带限定词:php中类属性必须定义 ...
- var a=b=c=1; 和 var a=1, b=2, c=3; 的区别。
function test(){ var a=b=c=1; var a=1, b=2,c=3; } 1中b\c 为全局变量, a为私量 2中a\b\c为私量
- JavaScript--定时器setTimeout()、clearTimeout(var param)和setInterval()、clearInterval(var param)
1.setTimeout().clearTimeout(var param) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,只调用一次 clearTimeout() 方法可取 ...
- 在开发中到底要不要用var?
var是.net的一个语法糖,在Resharper中推荐都使用这个关键字,平常我也是经常用:但是在跟其他程序员推广使用时,他的一些考虑引发了我的深思,到底该不该使用这个关键字呢? 我使用的理由 我使用 ...
- JavaScript变量声明var,let.const
var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局变量,并且赋值为0. console.log(typeof z); // undefined,因为z还不存在. f ...
- 译:Java局部变量类型推断(Var类型)的26条细则
原文链接:https://dzone.com/articles/var-work-in-progress 作者:Anghel Leonard 译者:沈歌 Java局部变量类型推断(LVTI),简称va ...
- Clojure的引用类型:var,ref,agent和atom
作为其他值的容器,也都可以解引用. deref不会阻塞. add-watch (add-watch reference key fn) 可以定义引用值发生改变时的回调,fn是4个参数 :key (at ...
- C# IEnumerable与IQueryable ,IEnumerable与IList ,LINQ理解Var和IEnumerable
原文:https://www.cnblogs.com/WinHEC/articles/understanding-var-and-ienumerable-with-linq.html 使用LINQ从数 ...
随机推荐
- 配置基于服务器认证的Dynamics 365 Customer Engagement和SharePoint Online集成
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- HTTP Error 500.19 - Internal Server Error 无法读取配置文件
将Code移动文件夹就报以下错误,http error 500.19 - internal server error. 项目文件下.vs=>config=>applicationhost. ...
- 从0系统学Android--3.6 RecyclerView
从0系统学Android--更强大的滚动控件---RecyclerView 本系列文章目录:更多精品文章分类 本系列持续更新中.... 参考<第一行代码> 首先说明一点昨天发了一篇关于 L ...
- MySQL 学习笔记 (一)
1.InnoDB and Online DDL ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE; ...
- Python语法速查:目录
1. 数据类型与内置函数 2. 列表.元组.字典.集合操作 3. 字符串格式化 4. 字符串常用操作 5. 运算符.math模块.表达式 6. 循环与迭代 7. 函数基础 8. 类与对象 9. 函数进 ...
- 淘宝爬取图片和url
刚开始爬取了 百度图片和搜狗图片 但是图片不是很多,随后继续爬取淘宝图片,但是淘宝反爬比较厉害 之前的方法不能用 记录可行的 淘宝爬取 利用selenium爬取 https://cloud.tence ...
- Java实现网络聊天中使用的socket API与Linux socket API之间的关系
尝试着用Java编写一个网络聊天程序,发现总不如网上写的好,所以就直接引用了网上大神的优秀代码.代码如下: package project1; import java.awt.*; import ja ...
- JS调用MD5加密
为了系统的安全,前端一般需要对密码进行MD5加密,然后传输给后台处理.MD5的英文是Message Digest Algorithm(信息摘要算法),是不可逆的算法,只能通过暴力破解,所以较为安全. ...
- 【Linux命令】磁盘分区,格式化,挂载命令,创建交换分区(fdisk,mkfs,mount,umount)
友情链接 磁盘分区,格式化,挂载,创建交换分区:https://www.cnblogs.com/HeiDi-BoKe/p/11936998.html RAID工作级别:https://www.cnbl ...
- Web安全测试学习笔记-DVWA-图片上传
很多网站都有上传资源(图片或者文件)的功能,资源上传后一般会存储在服务器的一个文件夹里面,如果攻击者绕过了上传时候的文件类型验证,传了木马或者其他可执行的代码上去,那服务器就危险了. 我用DVWA的文 ...