最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript如何获取对象并复制对象实现用法详解

来源:动视网 责编:小采 时间:2020-11-27 20:15:39
文档

javascript如何获取对象并复制对象实现用法详解

javascript如何获取对象并复制对象实现用法详解:了解一个JS对象的所有属性和方法,获得一个对象的所有属性和方法,核心代码和原理如下:function displayProp(obj){ var names=""; for(var name in obj){ names+=name+": "+obj[name]+",
推荐度:
导读javascript如何获取对象并复制对象实现用法详解:了解一个JS对象的所有属性和方法,获得一个对象的所有属性和方法,核心代码和原理如下:function displayProp(obj){ var names=""; for(var name in obj){ names+=name+": "+obj[name]+",


了解一个JS对象的所有属性和方法,获得一个对象的所有属性和方法,核心代码和原理如下:

function displayProp(obj){ 
 var names=""; 
 for(var name in obj){ 
 names+=name+": "+obj[name]+", "; 
 } 
 alert(names); 
}

如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢?

var obj={ colkey: "col", colsinfo: "NameList" }

最简单就是使用for in,
例如obj2就拥有了和obj完全相同的属性

var obj2=new Object(); 
for(var p in obj) 
{ 
var name=p;//属性名称 
var value=obj[p];//属性对应的值 
obj2[name]=obj[p]; 
}

其实这种方式有一定的,关键是js中for in有一定,并不会遍历对象的所有属性,只会遍历可枚举的属性,由js核心定义的方法都是不可枚举的,例如tostring(),但代码中定义的属性都是可枚举的(可以通过特殊定义为不可枚举的)。因此这个方法就够用了。
一个对象是否可以进行for in穷举,我们可以通过propertyIsEnumerable属性来判断,说明如下:
propertyIsEnumerable 属性
返回 Boolean 值,指出所指定的属性是否为一个对象的一部分以及该属性是否是可列举的。
object.propertyIsEnumerable(proName)
参数
object
必选项。一个对象。
proName
必选项。一个属性名称的字符串值。
说明
如果 proName 存在于 object 中且可以使用一个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。
propertyIsEnumerable 属性不考虑原型链中的对象。

文档

javascript如何获取对象并复制对象实现用法详解

javascript如何获取对象并复制对象实现用法详解:了解一个JS对象的所有属性和方法,获得一个对象的所有属性和方法,核心代码和原理如下:function displayProp(obj){ var names=""; for(var name in obj){ names+=name+": "+obj[name]+",
推荐度:
标签: 复制 获取 使用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top