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从数 ...
随机推荐
- Git实战指南----跟着haibiscuit学Git(第三篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- 误删mysql root账户
看这个账户有点碍眼就删除了,结果异常了mysql> select user,host from mysql.user;+---------------+-------------+| user ...
- Softmax用于手写数字识别(Tensorflow实现)-个人理解
softmax函数的作用 对于分类方面,softmax函数的作用是从样本值计算得到该样本属于各个类别的概率大小.例如手写数字识别,softmax模型从给定的手写体图片像素值得出这张图片为数字0~9 ...
- CF#603 Div2
差不多半年没打cf,还是一样的菜:不过也没什么,当时是激情,现在已是兴趣了,开心就好. A Sweet Problem 思维,公式推一下过了 B PIN Codes 队友字符串取余过了,结果今天早上一 ...
- (理论知识+HTML+CSS+JavaScript)
今天分享的面试题的答案不确保一定正确,如有错误或有更好的解法,大家可以留言分享你的答案.我在留言区等你更好的答案. 一.理论基础知识部分 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 ...
- 学java可以做些什么
学java可以做些什么 对于很多新手来说,刚开始接触Java会很迷惘,不知道Java可以做什么.其实Java 可以做的东西太多了,手机游戏.中间件.软件.网站,电脑游戏,以及现在流行的安卓手机app等 ...
- 【使用篇二】SpringBoot整合SpringDataJPA(18)
一.pom.xml添加依赖 <dependencies> <!--web--> <dependency> <groupId>org.springfram ...
- Redux Class(immutable Record)引入的必要性 && Navigation引入方式
我的意见 和大家讨论一下几个问题 1. 项目里面没有用class规定的请求数据结构,调试数据的时候无法从前端获取请求的数据格式,要看后端接口,增加了调试的难度.我们以前会用immutable Reco ...
- python-将一个列表切分成多个小列表
list是python中较为常见的数据类型,它是一个可迭代对象,迭代是什么?简单的可以理解成:一个可以被for循环遍历的对象 今天拿到一个类似这样的list list_info = ['name zh ...
- 04-Uwsgi配置启动Nginx虚拟主机配置
一.虚拟环境的安装 1.安装虚拟环境 sudo pip3 install virtualenv 2.安装virtualenvwrapper sudo pip3 install virtualenvwr ...