javascript 函数参数限制说明


Posted in Javascript onNovember 19, 2010
测试结果:

safari 下是65535个.即 ushort 来存储(2字节 16个1).更多的则忽略.

其他浏览器 至少是int.MaxValue .据说FireFox 甚至是用long 来维护 实参数.
其他浏览器 也许是int 或者可能是uint .这个就不管了. 毕竟我们知道了瓶颈 在 65535.

基于 以上基础.可以在 连接数组时 考虑优先采用 [].push.apply(a,b) 代替 a=a.concat(b); 
我们只需要注意 对于safari 来说 b的length不能超过65535就ok啦.  
concat 的 问题在于 产生的新数组 并 遍历 a 和 b 两个数组,再依次把a和b的元素放入.

测试代码:
var count = 100000, a = [1,2,3], b = [4,5,6], r = [], i, d; 

d = new Date ; 
for (i = count; i-- ;){ 
     a.concat(b); 
} 
r[0] = new Date - d; 

d = new Date ; 
for (i = count; i-- ;){ 
     r.push.apply(a,b); 
     //a = [1,2,3] ; 
} 
r[1] = new Date - d; 

alert(r);

可以得出结论 即使是ie6 chrome2 safari 3 firefox 2这样古老的浏览器  push也是完胜的,个别浏览器 即使去掉 //a = [1,2,3] ; 注释部分. 居然效率也是胜过 concat的. 如chrome7 dev  和safari 5.
Javascript 相关文章推荐
JavaScript中的Location地址对象
Jan 16 Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 Javascript
JavaScript必知必会(二) null 和undefined
Jun 08 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
D3.js实现文本的换行详解
Oct 14 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
浅谈Angular 中何时取消订阅
Nov 22 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
May 16 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
简谈创建React Component的几种方式
Jun 15 Javascript
Javascript的并行运算实现代码
Nov 19 #Javascript
js里的prototype使用示例
Nov 19 #Javascript
Google 静态地图API实现代码
Nov 19 #Javascript
javascript 窗口加载蒙板 内嵌网页内容
Nov 19 #Javascript
JS运行耗时操作的延时显示方法
Nov 19 #Javascript
function foo的原型与prototype属性解惑
Nov 19 #Javascript
高亮显示web页表格行的javascript代码
Nov 19 #Javascript
You might like
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
php像数组一样存取和修改字符串字符
2014/03/21 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
js同时按下两个方向键
2007/12/01 Javascript
Prototype Number对象 学习
2009/07/19 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
Python中字符串的修改及传参详解
2016/11/30 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
前厅收银主管岗位职责
2014/02/04 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
小爸爸观后感
2015/06/15 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server
Java 多线程协作作业之信号同步
2022/05/11 Java/Android