Javascript对象和数组操作符——.和[]
来源:互联网 发布:图像算法工程起薪 编辑:程序博客网 时间:2024/06/05 05:10
JavaScript中对象和数组(数组也是对象),操作符主要有两种:
. 和[]
这两种有什么区别呢?
请看测试代码
//读操作let temp={area_id:"1",county_id:"1",plate_no:"11",product:"40"};let d1=['area_id','county_id','product'];console.log(temp.area_id); //输出1console.log(temp['area_id']); //输出1console.log(d1.area_id); //undefinedconsole.log(d1['area_id']); //undefinedconsole.log(d1[0]); //输出area_id//写操作let connectString={};connectString["value"]="sss"; //输出 { value: 'sssss' }connectString.value='sssss'; //输出 { value: 'sssss' }let test=[];test[0]='s'; //输出 [ 's' ]test.a='ss'; //输出 [ 's', a: 'ss' ]console.log(test.a); //输出 ssconsole.log(test[1]); //输出 undefined,可以看到虽然在test中存储了一个字符串一个对象,但是test[1],并没有把对象输出出来console.log(test[0]); //输出 s
总结:
数组是特殊的对象,对象的所有操作都可以对一个数组进行,通过.和[]操作符都可以对对象和数组进行读写操作,对于单条赋值语句是没有问题的,两者是通用的。
对象的两个操作,应该大家都没问题,通过.和[]是一样的。
数组的操作,.和[]是不同的,通过.运算符,是把数组作为对象进行操作的,通过test[0]是作为数组进行的,两者相当于隔离开来,可以这么理解。而且对于同一个数组,对象操作和数组操作,都是存储在一起的,请看下面的Code
let test=[];test[0]='s'; test.a='sss'; test[1]={a:'ss'}; console.log(test); //输出 [ 's', { a: 'ss' }, a: 'sss' ],可以看到对数组的对象操作,是放在存储结构的最后面
所以为了防止混乱,最好是
如果是数组,就使用[]操作符
如果是对象,就使用 . 操作符,
这样就不会产生更混乱
那么接下来是重点,如果在一个循环中对一个对象进行赋值会发生什么?
let d1=['area_id','county_id','product'];let connectString={};d1.map((value)=>{ connectString.value='ss';});console.log(connectString); //输出结果为{ value: 'ss' },可以看到并没有把数组中的所有作为键复制给connectString
换一种操作
let d1=['area_id','county_id','product'];let connectString={};d1.map((value)=>{ connectString[value]='ss';});console.log(connectString); //输出 { area_id: 'ss', county_id: 'ss', product: 'ss' },可以看到把数组的每一项作为对象的键值对赋值成功
总结:在循环操作中,如果要对对象赋值,使用[]操作符,不能使用.操作符
那么是为什么呢?
[]操作符:是取[]里面的值赋值给对象或者数组
.操作符:是直接把.后面作为值赋值给对象或者数组的,不会去取他的值
当然,这是通过实践总结出来的,那么最基本的是什么呢?就是Javascript本身对于对象赋值操作有两种不同的处理方式:
* 如果属性或方法的名称是简单的标识符,则可在对象名称与句点之后加入该属性*
如果属性或方法的名称不是简单的标识符,或在编写脚本时不知道该属性,则可在方括号内使用表达式作为属性的索引
详情链接:
Javascript对象和数组
阅读全文
1 0
- Javascript对象和数组操作符——.和[]
- Javascript数组对象声明和操作
- 【JavaScript基础知识】——对象和数组
- JavaScript 对象和数组
- JavaScript对象和数组
- [JavaScript]-----对象和数组
- javascript 对象和数组
- JavaScript对象和数组
- JavaScript数组和对象
- JavaScript:对象和数组
- JavaScript对象和数组
- JavaScript对象和数组
- JavaScript 对象和数组
- JavaScript引用类型:使用对象和创建并操作数组
- Javascript高级程序设计——7.对象和数组
- Javascript之旅——第二站:对象和数组
- JavaScript学习笔记——对象和数组(上)
- JavaScript学习笔记——对象和数组(下)
- Laravel 5.4 官方文档摘记:Eloquent ORM
- ros apollo vrep project ubuntu14.04 (一)
- 移动端点透现象即解决办法
- python实现的入门级别死爬虫
- POJ-1723
- Javascript对象和数组操作符——.和[]
- 程序员的幽默——献给所有Java程序员
- Linux mysql初始化密码问题
- 数据存储(3):将数据以txt文件存储在本地,多个apk都可进行读写
- linux换下配置jdk
- 刷题记录-luoguP2055 [ZJOI2009]假期的宿舍
- 【LeetCode】338. Counting Bits
- 汉诺塔移动步骤
- R 语言爬虫 之 cnblog博文爬取