- 主题:JavaScript的for循环是我理解错了吗?
【 在 hgoldfish 的大作中提到: 】
: 太麻烦了。所以我现在都用for(i<arrry.length)来循环。
:
数组就应该用这个,for in是用来遍历对象的
--
FROM 220.181.38.*
难道不是应该用forEach咩?
如果考虑浏览器兼容,jQuery / underscore 之流也有each。
【 在 a316783812 (woniuppp) 的大作中提到: 】
: 数组就应该用这个,for in是用来遍历对象的
--
FROM 118.195.70.*
用javascript的果然都已经不考虑运行效率了。据我所知,动态语言调用函数的开销都挺大的。
【 在 ttl (小驴) 的大作中提到: 】
: 难道不是应该用forEach咩?
: 如果考虑浏览器兼容,jQuery / underscore 之流也有each。
--
FROM 117.30.55.*
$.each也要自己判断hasOwn
【 在 ttl (小驴) 的大作中提到: 】
: 难道不是应该用forEach咩?
: 如果考虑浏览器兼容,jQuery / underscore 之流也有each。
--
FROM 114.249.229.*
... 你确定你跑过?
【 在 Eliot (好警察) 的大作中提到: 】
: $.each也要自己判断hasOwn
--
FROM 118.195.70.*
以写起来舒服为第一目的,一般也不会把密集运算给放浏览器端。
跟写C/C++程序一样,优化是需要根据profile做的,每一行代码都去考虑这里是不是多一次寻址,会不会有cache命中率低问题,最后就累死了。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 用javascript的果然都已经不考虑运行效率了。据我所知,动态语言调用函数的开销都挺大的。
--
FROM 118.195.70.*
数组不用,对象要用
印象中有人问过开发人员,为什么不内置hasOwn,说没必要,而且有跑分的压力
【 在 ttl (小驴) 的大作中提到: 】
: ... 你确定你跑过?
--
FROM 114.249.229.*
本帖难道不是在说数组么 -.-
【 在 Eliot (好警察) 的大作中提到: 】
: 数组不用,对象要用
: 印象中有人问过开发人员,为什么不内置hasOwn,说没必要,而且有跑分的压力
--
FROM 118.195.70.*
顺便说下开销的问题:
以v8为例,一个function的调用对应到的C++:
fn->GetFunction()->Call(v8::Context::GetCurrent()->Global(), 1, args)
其实跟一个C函数的调用比,开销虽大,但也没太大了。
那些个编译型之所以敢用很小块的函数主要是源于编译器的inline优化,要不你同样发现函数调用开销大。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 用javascript的果然都已经不考虑运行效率了。据我所知,动态语言调用函数的开销都挺大的。
--
FROM 118.195.70.*
没觉得$.each()有多方便。JavaScript又不是函数式编程语言,能根据可重入函数的特性做惰性计算并行计算什么的。$.each与for的区别不过是写法上的不同而已。
而且性能这个,积少成多。咱不能像那些搞Java的那样,大家都写一坨坨,最后搞成一撮矬。
【 在 ttl (小驴) 的大作中提到: 】
: 以写起来舒服为第一目的,一般也不会把密集运算给放浏览器端。
: 跟写C/C++程序一样,优化是需要根据profile做的,每一行代码都去考虑这里是不是多一次寻址,会不会有cache命中率低问题,最后就累死了。
--
FROM 117.30.55.*