js 深拷贝函数_javascript技巧

function objectClone(obj,preventName){
if((typeof obj)=='object'){
var res=(!obj.sort)?{}:[];
for(var i in obj){
if(i!=preventName)
res[i]=objectClone(obj[i],preventName);
}
return res;
}else if((typeof obj)=='function'){
return (new obj()).constructor;
}
return obj;
}

时间: 2025-01-24 13:47:05

js 深拷贝函数_javascript技巧的相关文章

深入理解JS addLoadEvent函数_javascript技巧

首先是addLoadEvent函数的代码清单: function addLoadEvent(func) { var oldonload=window.onload; if(typeof window.onload!='function') { window.onload=func; } else { window.onload=function() { oldonload(); func(); } } } 理解起来就是: 1.把现有的window.onload事件处理函数的值存入变量 oldon

ASP中进行HTML数据及JS数据编码函数_javascript技巧

前些天我就碰到了用Ajax提交表单, 然后发送邮件的情况. 于是写出了下面的两个函数来解决这两个问题. 第一个函数把HTML中的数据转成HTML实体, 而HTML标签则自动不转, 这样无论到哪里都不会乱码, 可以在发送邮件时选择发送HTML格式的邮件. 第二个函数把JS数据同样是换成转义字符, 同样避开了JS关键词等字符的转换, 不管网页是什么编码它都不会乱码. 废话少说, 看下面的代码. 复制代码 代码如下: Function htmlentities(str) Dim a,i,char Fo

100个不能错过的实用JS自定义函数_javascript技巧

1.原生JavaScript实现字符串长度截取 复制代码 代码如下: function cutstr(str, len) {    var temp;    var icount = 0;    var patrn = /[^\x00-\xff]/;    var strre = "";    for (var i = 0; i < str.length; i++) {        if (icount < len - 1) {            temp = str

JavaScript函数的一些注意要点小结及js匿名函数_javascript技巧

下面给大家介绍javascript函数 函数的基本语法是: function functionName(arg0,arg1,...,argN) { statements } 下面是个示例: function str(name,age){ document.write("hello my name is " + name + ". and i am " + age + " years old."); } str(" oliver"

js 覆盖和重载 函数_javascript技巧

学过JAVA的人对函数的覆盖和重载肯定是再熟悉不过了. 重载指两个或多个函数的参数类型,顺序和数量以及返回值不一样. 覆盖指两个或多个函数的参数类型,顺序和数量以及返回值完全一样. 那javascript真的有这种特性么? 回答是JS中函数重名只会采用最后一个定义. 首先来看下下面的代码 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEA

js自定义回调函数_javascript技巧

背景分析 首先看一段js的代码,主要实现添加的时候首先通过异步请求判断是否存在,如果不存在的话,在进行添加操作: function add(url,data) { var isExited = isExited(data); if(!isExited){ addRequest(url, data); } } 当我添加一个数据的时候,我首先通过判断是否在数据库中存在(当然,如果前后台彻底分离的话,不应该前端进行业务逻辑的判断,前端只应该,用来展示数据),首先,isExited()的请求是ajax请

浅析Javascript匿名函数与自执行函数_javascript技巧

函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 function double(x){ return 2 * x; } 第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用. var double = new Function('x', 'return 2 * x;'); 第三种: var double = function(

JavaScript中的Function函数_javascript技巧

首先给大家介绍JavaScript中function定义函数的几种方法: 1.最基本的作为一个本本分分的函数声明使用. 复制代码 代码如下: function func(){} 或 复制代码 代码如下: var func=function(){}; 2.作为一个类构造器使用: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: (function(){ //独立作用域 })(); 4.可以作为选择器使用:

浅谈JavaScript的闭包函数_javascript技巧

在JavaScript中,闭包恐怕是很多人不能理解的一个概念了,甚至很多人也会把闭包和匿名函数混淆. 闭包是有权访问另一个函数作用域中的变量的函数.首先要明白的就是,闭包是函数.由于要求它可以访问另一个函数的作用于中的变量,所以我们往往是在一个函数的内部创建另一个函数,而"另一个函数"就是闭包. 比如之前提到过的作为比较函数: function createComparisonFunction(propertyName){ return function(object1,object2