首页 > 其他分享 >js对象操作(object)

js对象操作(object)

时间:2023-08-26 11:34:02浏览次数:33  
标签:console name 对象 object js var true 属性

声明对象

var can_args = new Object();

对象赋值

can_args={"vue":300,"jquery":200……};

对象动态赋值(新建属性值)

第一种:

let key = "id";
let value = 2
can_args[key] = value;
console.error(can_args);  //{"vue":300,"jquery":200,"id":2};

第二种:

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)

 

标签:console,name,对象,object,js,var,true,属性
From: https://www.cnblogs.com/ZhuMeng-Chao/p/17658541.html

相关文章

  • 大屏读取本地文件-js读取csv文件之FileReader
    <script>functionreadCsv(){constfile=document.getElementById('uploadFile').files[0];if(file.type!="text/csv"){alert("文件类型错误");return;}varreader=newFileReade......
  • java数组、面向对象的引入
    packagecom.momo.demo;publicclassMain{publicstaticvoidmain(String[]args){int[]arr=newint[3];System.out.println(arr);System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);arr[0]=55;arr[2]=66;System.o......
  • axios.js的使用方法
    axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js中。以下是axios的基本使用方法: 1.安装axios模块: ```npminstallaxios``` 2.引入axios模块: ```javascriptconstaxios=require('axios');``` 3.发送GET请求: ```javascriptaxios.get('/api......
  • danfo.js的使用方法
    danfo.js是一个轻量级的JavaScript库,用于处理和分析数据。下面是danfo.js的使用方法及其详细参数说明: 1.安装danfo.js ```bashnpminstalldanfojs``` 2.引入danfo.js ```javascriptconstdanfo=require('danfojs');``` 3.创建一个数据数组 ```......
  • flexible.js 自动计算font-size
    flexible.js?flexible.js是手淘开发出的一个用来适配移动端的js框架。手淘框架的核心原理就是根据制不同的width给网页中html根节点设置不同的font-size,然后所有的px都用rem来代替,这样就实现了不同大小的屏幕都适应相同的样式了。其实它就是一个终端设备适配的解决方案,也就是说它......
  • JS打印
    我们通过前端上传到数据库的pdf或者word文档,当我们在线观看时,希望使用调用本地的打印进行实时打印;当然可能会涉及到安全问题,有需要的小伙伴,可以自行查阅。//打印类属性、方法定义/*eslint-disable*///ActiveXObject是window自带的打印类,也就是所谓的控件functionisIE......
  • 通过Maven将文件上传到阿里云对象存储OSS
    首先在阿里云开通对象存储OSS功能(免费的),然后在Bucket列表中创建一个Bucket,地域建议选择华东1(杭州),因为这样后面就不用修改Endpoint,或者你直接记住Endpoint也行,读写仅限为公共读,其他的选项就默认的就行了。然后在右上角的头像初点击AccessKey管理,选择继续使用AccessKey,点击创建Ac......
  • 无涯教程-Python - 类/对象
    如果您以前没有使用面向对象(OO)编程的经验,则可能需要查阅有关它的入门课程或至少某种形式的教程,以便掌握基本概念。创建类class语句创建一个新的类定义。该类的名称紧随关键字class后跟冒号,如下所示-classClassName:'Optionalclassdocumentationstring'class......
  • [Lua] 实现所有类的基类Object、模拟单继承OO、实现抽象工厂
    所有类的基类ObjectLua没有严格的oo(Object-Oriented)定义,可以利用元表特性来实现先定义所有类的基类,即Object类。代码顺序从上到下,自成一体。完整代码定义一个空表Object,__index指向其自身(继承将直接使用该表作为对象的元表)Object={}Object.__index=Objectnew定......
  • Nodejs 安装后的小配置
    Nodejs安装小配置配置npm配置全局安装位置和缓存路径位置npmconfigsetprefix"D:\Environment\node\node_global"npmconfigsetcache"D:\Environment\node\node_cache"配置npm​仓库镜像#设置淘宝源npmconfigsetregistryhttps://registry.npm.taobao.org......