js对象操作(object)
时间:2023-08-26
本文章向大家介绍js对象操作(object),主要内容包括声明对象、对象赋值、对象动态赋值、 JavaScript 判断对象属性是否存在(对象是否包含某个属性)、判断是否是自身属性、 修改对象属性值、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
声明对象
var can_args = new Object();
对象赋值
can_args={"vue":300,"jquery":200……};
对象动态赋值
第一种:
let key = "id"; let value = 2 can_args[key] = value;
第二种:
var obj1={"vue":300,"jquery":200}; var obj2={"react":500}; can_args={ obj1, obj2 }
第三种:
let obj4 = {a:"1"}; let obj5 = {b:"2"}; let obj6 = {c:"3"}; can_args.assign(obj4,obj5,obj6);
参考文献:js动态往对象添加数据_js往对象中添加数据_Herib的博客-CSDN博客
JavaScript 判断对象属性是否存在(对象是否包含某个属性)
第一种:使用 in 运算符,用法是属性名 in 对象,如果存在返回 true,反之为 false,来看个例子
(in
只能判断对象有没有这个属性,无法判断这个属性是不是自身属性)
var echo = { name:'听风是风', job:undefined }; console.log('name' in echo); //true console.log('job' in echo); //true console.log('age' in echo); //false
判断是否是自身属性
一个最简单的构造函数创建实例的例子:
function Parent(){ this.name = 'echo'; }; Parent.prototype.age = 26; var o = new Parent(); o.name//echo o.age//26
在这个例子中,对于实例 o 而言,name 就是是自身属性,这是它自己有的,而 age 是原型属性,o 虽然没有这个属性,但在需要时,它还是顺着原型链找到了自己的老父亲 Parent,并借用了这个属性。
所以当我们用 in 判断时可以发现结果均为 true:
'name' in o;//true 'age' in o;//true
针对这个问题,如果我们还要判断是否是自身属性,就得借用方法hasOwnProperty()
,
hasOwnProperty()
做了两件事,除了判断对象是否包含这个属性,还判断此属性是不是对象的自身属性。
o.hasOwnProperty('name');//true o.hasOwnProperty('age');//false
参考文献:JavaScript 判断对象属性是否存在(对象是否包含某个属性)_js 查找属性_thankseveryday的博客-CSDN博客
修改对象属性值
当对象以数字为属性名时,其实就是一个数组,用[’’]
var foo={1:'a',2:'b'} foo['1']='c' console.log(foo) // { 1: "c", 2: "b" }
当对象以字符为属性名时,直接用.获取属性值
var bar = {a:1,b:2,c:3} bar.a= 'hello';
//或
bar["a"]='hello'; console.log(bar) //{ a: "hello", b: 2, c: 3 }
其中就是[]与.的区别,中括号运算符[]可以存取数组元素值,使用点运算符.可以存取对象属性值。
参考文献:
JS修改对象属性的值_js修改对象的某个属性的值_龙井茶奇遇的博客-CSDN博客
JS操作对象属性(获取、添加、删除、修改对象属性) (biancheng.net)
原文地址:https://www.cnblogs.com/ZhuMeng-Chao/p/17658541.html
- 词序:神经网络能按正确的顺序排列单词吗?
- 使用spark对hive表中的多列数据判重
- 如何从微信公众平台上下载关注用户(备份微信关注用户)
- 使用hive客户端java api读写hive集群上的信息
- 大数据算法设计模式(1) - topN spark实现
- redis性能调优笔记(can not get Resource from jedis pool和jedis connect time out)
- thrift例子:python客户端/java服务端
- springboot与thrift集成实现服务端和客户端
- 调用{dede:likewords}为dedecms添加相关搜索词
- 重新调整Keras中长短期记忆网络的输入数据
- Linux内存(手动释放cache)
- django中间件Middleware
- springboot kafka集成(实现producer和consumer)
- 分布式锁的实现(redis)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 哈?命令注入外带数据的姿势还可以这么骚?
- 记一次曲折的RCE挖掘
- pytest文档49-命令行参数--tb的使用
- pytest文档50-命令行参数--durations统计用例运行时间
- pytest文档51-内置fixture之cache使用
- pytest文档53-命令行实时输出错误信息(pytest-instafail)
- pytest文档52-命令行参数--setup-show查看fixture的执行过程
- pytest文档54-Hooks函数terminal打印测试结果(pytest_report_teststatus)
- SAS-免费的描述性统计程序自动化创建
- Godot游戏开发实践之四:搬运Unity的Pluggable AI教程
- TypeScript 4.1 新特性:字符串模板类型,Vuex 终于有救了?
- 使用 Node.js 定制你的技术雷达:上篇
- 使用 Node.js 定制你的技术雷达:中篇
- 大点干!早点散----------Redis从入门到精通!!!
- Python入门摘要