Javascript 数组学习一则
1. 应用 Array.prototype.join实现字符合并
方法1.
String.prototype.times = function(n) {
return Array.prototype.join.call({length:n+1}, this);
};
"js".times(5) // => "jsjsjsjsjs"
方法2.
var ArrayTest=new Array("HE","LL","O");
var hello = Array.prototype.join.call(ArrayTest, '|');
alert(hello); // => "HE|LL|O");
2.字符串分割成数组
var _param = "HE||LL||O";
var _paramArray = _param.split("|");
alert(_paramArray.length)
相关文档:
function getCookies(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return '';
}
function setCookie(name, value, expires, path, domain, secure)
{
var liveDate = new Date();
expires = l ......
首先是我们熟悉的extend函数
/**
* 扩展函数
* @param target 扩展对象
* @param params 扩展参数
*/
function extend(target, params) {
if (!target) {
target = {};
}
for (var prop in params) {
target[prop] = params[prop];
}
r ......
修改循环的执行方式
for(var i=0;i<element.childNodes.length;i++){
执行代码
}
这种方式每次循环都要取element.childNodes.length的值,应该改为如下的
var n=element.childNodes.length
for(var i=0;i<n;i++){
执行代码
}
2:修改dom操作的次数
dom批量插入一批类似的节点不如先构造一个对象, ......
原文:《Speeding up JavaScript: Working with the DOM》
作者: KeeKim Heng, Google Web Developer
在我们开发互联网富应用(RIA)时,我们经常写一些javascript脚本来修改或者增加页面元素,这些工作最终是DOM——或者说文档对象模型——来完成的,而我们的实现方式会影响到应用的响应速度。
DO ......
<script>
var i = 0;
function insertTr(obj)
{
var tr1 = tb.insertRow(obj.rowIndex+1);
  ......