相关文章推荐
跑龙套的单杠  ·  分享6个对象数组去重的方法开发者社区·  1 月前    · 
打盹的板栗  ·  前端传递JSON数组数据到后端(解析方法)_ ...·  1 月前    · 
暴走的长颈鹿  ·  堆快照文件格式 - Microsoft ...·  1 月前    · 
含蓄的葡萄酒  ·  matlab设计一个导入图片的app代码 ...·  1 年前    · 
买醉的香蕉  ·  树莓派4b安装opencv遇到的一些问题以及 ...·  1 年前    · 
暗恋学妹的开心果  ·  mysql 剩余共享内存查看 ...·  2 年前    · 
爱搭讪的烤面包  ·  ssh_晨曦时梦见兮的个人空间 - ...·  2 年前    · 
Code  ›  JavaScript创建对象以及遍历对象的所有方法_javascript for循环 创建列表对象
对象数组
https://blog.csdn.net/Lee_taotao/article/details/115134038
含蓄的爆米花
1 年前
    • 创建对象的4种方法
      • 1、使用字面量法创建对象
      • 2、通过new 一个对象 Object()方法来创建对象
      • 3、通过new 一个自定义的构造函数的方法来创建对象
      • 4、通过Object.create()方法来创建对象
    • 遍历
      • 定义一个对象
      • 1、for...in
        • 扩展:for...in和for...of的区别
          • for...in的特点
          • for...of
        • 2、Object.keys(obj)
          • 扩展:Object.keys(obj),Object.values(obj), Object.entries(obj)
        • 3、Object.getOwnPropertyNames(obj)
        • 4、Object.getOwnPropertySymbols(obj)
        • 5、Reflect.ownKeys(obj)
          • 扩展

          Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__

          语法:Object.create(proto,[propertiesObject])
          参数:proto->新创建对象的原型对象
          propertiesObject(可选)

          	var person = {
          		name: 'person',
          		isHuman: false
          	var obj = Object.create(person)
          	obj.name // person
          	obj.name = 'obj' //修改name
          

          定义一个对象

          var obj = {}
          obj.a = 1
          Object.defineProperty(obj, "b", { value : 2, enumerable: true });
          Object.defineProperty(obj, "c", { value : 3, enumerable: false });
          Object.defineProperty(obj, "d", { value : 4 });
          Object.defineProperty(obj, Symbol.for('e'), {
            value: 5,
            enumerable: true
          });
          Object.defineProperty(obj, Symbol.for('f'), {
            value: 6,
            enumerable: false
          });
          Object.prototype.g = 3
          Object.prototype[Symbol.for('h')] = 6
          

          1、for…in

          for…in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)

          	for (let i in obj) {
          		console.log(i)
          	// a b g
          
          扩展:for…in和for…of的区别
          for…in的特点

          1、主要用于遍历对象
          2、index为string类型(遍历数组index为字符串数字)
          3、遍历顺序不一定为实际顺序(按数字先,字符串后)
          4、使用for in会遍历数组所有的可枚举属性,包括原型

          for…of

          1、不可以遍历对象(for…of循环内部调用的是数据结构的Symbol.iterator方法。 )
          (环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、后文的 Generator 对象,以及字符串。)
          2、遍历的是数组内的元素,不包括数组的原型属性

          2、Object.keys(obj)

          Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)的键名

          Object.keys(obj)
          // ['a','b']
          
          扩展:Object.keys(obj),Object.values(obj), Object.entries(obj)

          Object.keys(obj)返回一个是数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名

          Object.values方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值

          Object.entries()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组

          3、Object.getOwnPropertyNames(obj)

          Object.getOwnPropertyNames返回一个数组,包括对象自身的(不含Symbol属性,但是包括不可枚举属性,也不包含继承的)的键名

          Object.getOwnPropertyNames(obj)
          // ["a", "b", "c", "d"]
          

          4、Object.getOwnPropertySymbols(obj)

          Object.getOwnPropertySymbols返回一个数组,包含对象自身的所有 Symbol 属性的键名。

          Object.getOwnPropertySymbols(obj)
          // [Symbol(e), Symbol(f)]
          

          5、Reflect.ownKeys(obj)

          Reflect.ownKeys返回一个数组,包含对象自身的(不含继承的)所有键名

          Reflect.ownKeys(obj)
          // ["a", "b", "c", "d", Symbol(e), Symbol(f)]
           

          Reflect.ownKeys方法用于返回对象的所有属性,基本等同于Object.getOwnPropertyNames与Object.getOwnPropertySymbols之和。
          如果Reflect.ownKeys()方法的第一个参数不是对象,会报错。

          for...in:遍历对象及其原型链上的可枚举属性,适合简单遍历,但需要来过滤继承属性。:返回对象自身的可枚举属性名,最常用。:返回对象自身的可枚举属性值,适合只需要值的场景。:返回对象自身的键值对,适合同时需要键和值的场景。:返回对象自身的所有属性,包括不可枚举属性。:返回对象自身的所有属性,包括符号属性和不可枚举属性。 因为是在 for 循环外部定义的 item ,所以只定义了一次 item 对象,也就只有一个内存地址,所以每次 push 进 arr 的就是那唯一一个地址,所以最后结果当然是显示该地址最后一次修改的数据,即 {name: ‘ww’} 在 JavaScript 中,所有属性都是可读的,但是只有值是可修改的(只有当属性为可写时)。 1、for…in 循环 JavaScript for…in 语句遍历对象的属性。 for (variable in object) { 要执行的代码 for…in 循环中的代码块会为每个属性执行一次。 循环对象的属性: var person = {fname:"Bill", lname:"Gates", age:62}; for (x in perso var box = document.getElementsByClassName('box')[0]; //循环创建ul,li for (var i = 0; i < 4; i++) { var uls = document.createElement('ul'); //添加ul box.a 一、遍历普通对象可枚举属性的方法(分本身属性/本身+继承属性) 生成一个继承的普通对象(非构造函数),即对象 a2 继承对象 a1。 /*遍历对象所有可枚举属性的方法*/ let a1 = { name: 'haha', age: 18, let a2 = { like: '打球', form: '广州' /*Object.setPrototypeOf() 方法设置一个指定的对象的原型 ( 即, 内部[[Prototyp $.each($('input:checkbox:checked'),function(index){ window["url"+index]=""+$(this).val()+"&amp;searchword="+escape(Word); 以上就是动态创建的代码,主要就是window["url"+...
 
推荐文章
跑龙套的单杠  ·  分享6个对象数组去重的方法开发者社区
1 月前
打盹的板栗  ·  前端传递JSON数组数据到后端(解析方法)_element-china-area-data 前端json数组怎么转换成字符串传到后端
1 月前
暴走的长颈鹿  ·  堆快照文件格式 - Microsoft Edge Developer documentation | Microsoft Learn
1 月前
含蓄的葡萄酒  ·  matlab设计一个导入图片的app代码 - CSDN文库
1 年前
买醉的香蕉  ·  树莓派4b安装opencv遇到的一些问题以及解决_树莓派安装opencv报错-CSDN博客
1 年前
暗恋学妹的开心果  ·  mysql 剩余共享内存查看 mysql剩余空间_轩辕的技术博客_51CTO博客
2 年前
爱搭讪的烤面包  ·  ssh_晨曦时梦见兮的个人空间 - OSCHINA - 中文开源技术交流社区
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号