js操作对象属性用点和用中括号有什么不同?
发布网友
发布时间:2022-04-07 04:49
我来回答
共7个回答
热心网友
时间:2022-04-07 06:18
一、功能不同
1、用点:表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。
2、用中括号:表示一个数组,也可以理解为一个数组对象。
二、语法不同
1、用点: var LangShen = {"Name":"Langshen","AGE":"28"}。langShen.Name。在JSON数据结构、写函数组的时候中经常用。
2、用中括号:var LangShen = [ "Name","LangShen","AGE","28" ];每个值或函数,都是独立的,多个值之间只用,(逗号)隔开,因为是数组对象。
三、访问方式不同
1、用点:对象,访问时,用.(点)来层层访问。
2、用中括号:访问时,也是和数组一样,alert( LangShen[0] );
参考资料来源:百度百科-javascript
热心网友
时间:2022-04-07 07:36
var test ={name:1}
用点的时候,后面需要是一个指定的属性名称,譬如说 test.name,不需要用引号括起来,因为默认name就是test里面的属性,但是如果写 var obj = name 。test.obj就是不正确的,因为obj这个时候是被当成一个固定的字符串,不是变量。
用中括号的时候 ,括号里面可以是变量或者字符串,譬如说,var obj = "name",test[obj]会自动识别成obj["name"],因为中括号会计算一次生成字符串访问。当然可以直接写obj["name"],
其实 test.name 最终也会按照 test["name"]去执行的
所以用点的时候后面一定要是一个指定的 属性名,用[]时候后面一定是一个变量或者固定属性名的字符串。
有误请指正,谢谢!
热心网友
时间:2022-04-07 09:11
中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。
中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。
中括号运算符可以用纯数字为属性名。点运算符不能。
中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。
ps:点号后加标识符(静态的)
中括号放字符串,字符串可以是动态的,obj['string'+variable]
如果是静态的还是用点号方便
热心网友
时间:2022-04-07 11:02
中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。
中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。
中括号运算符可以用纯数字为属性名。点运算符不能。
中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能
热心网友
时间:2022-04-07 13:10
不考虑[]用作数组或集合下标使用的情况,单针对某个对象,这两种写法本质是一样的。
但是第2种写法可以使用变量作为属性名,在实际使用过程中非常灵活,比如可以写出很通用的代码,而不用考虑具体对象的结构。追问那为什么有时候,用点才能取到值,有时候却要用中括号呢?
追答不考虑[]用作数组或集合下标使用的情况,单针对某个对象,这两种写法本质是一样的。
你能举个例子, 只能用点或只能用中括号取属性值吗?
热心网友
时间:2022-04-07 15:35
木有区别。都是取值(设置值)。可以说是一个习惯用法。如果用[]的话,就有点小小区别了。如果[]用于集合或数组,则是获取[i]里面的第i个值。所以。[]在对象或数组(集合)中这样用。对应于对象,建议用"."获取或设置。如果对象用[],则是获取或设置["age"]里面属性叫age所对应的属性值追问那为什么有时候,用点才能取到值,有时候却要用中括号呢?
热心网友
时间:2022-04-07 18:16
a.b中a是json对象,b是a中的属性名。a[b]中a是数组对象,b是a的数组索引,即a中第b个元素追问那为什么有时候,用点才能取到值,有时候却要用中括号呢?
js操作对象属性用点和用中括号有什么不同?
一、功能不同 1、用点:表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。2、用中括号:表示一个数组,也可以理解为一个数组对象。二、语法不同 1、用点: var LangShen = {"Name":"Langshen","AGE":"28"}。langShen.Name。在JSON数据结构、写函数组的时候中经常用。2、用...
js操作对象中点操作和中括号操作的区别
2.中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。 (即:点号后加标识符(静态的); 中括号可放字符串,字符串可以是动态的,obj[‘string’+variable])3.中括号运算符可以用纯数字为属性名。点运算符不能。4.中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。
js中 .是什么意思?
在JavaScript中,点(.)是一个重要的操作符,被用来访问对象的属性和方法。通过使用点操作符,程序员可以直接访问对象的属性,以便对其进行读写和操作。例如,当我们使用console.log()函数时,在log函数和它的参数之间就使用了点操作符。点(.)操作符还可以用来定义对象的属性和方法。在JavaScript中,可...
在js中用中括号访问对象的时候属性为什么要加上双引号?
而用点语法的话属性名是不能用变量的!
JS 对象基本用法
对象有隐藏属性,但一般不建议直接操作。要删除属性,`delete`会同时删除名称和值,而`undefined`仅删除值。查看所有属性可通过`console.dir(obj)`,或通过`Object.keys(obj)`逐个查看,但推荐使用中括号语法,如`obj['name']`。每个对象都有原型,它是另一个对象。可以通过两种方式查看属性:点语法和...
JS 对象基本用法
要读取或修改对象的属性,可以使用点符号`.`或方括号`[]`,例如`myObj.property`或`myObj['property']`。如果属性不存在,`[]`方式更为灵活,可以接受字符串或表达式作为键。新增属性时,直接赋值即可。共有的属性是对象和其原型共享的,而修改原型属性(如`Object.prototype`)需要特别注意,通常...
开发react?
React中是用className来绑定Class,用style来绑定Style。其中style接受的值是一个对象,且用{}中括号传入,而且对象的属性名只能用驼峰式(camelCase)来命名。 在来看一下Class与Style是变量,在React中是怎么绑定的。 在React中是使用{}给属性赋值变量,且className只接受字符串,不接受数组或者对象,可以用ES6的模板字符串...
javascript,不是说不能用数字做变量名吗?
obj[123]="abc"; 这里的123不能说是变量名,而应该说是对象的属性名,js的对象的属性说到底就是字符串为键的字典,只是点操作符后面要求是符合变量名的命名规范,例如这样都是可以的 obj = {};obj["a-b"] = 1;obj[1] = 2; //类似于数组下标的写法 a = {};obj[a] = 3; // 这里...
js中[]和{}还有()的最基本区别是什么
;{}用于定义对象,比如:var obj = {"id":123, "name":"百度", "url":"http://www.baidu.com", "logo":"static/common/pkg/common_z.48bf107.png"};()则要看它放在什么位置才能知道它起什么作用,因为它有多种用法,比如:function abc(这个括号里的是传递给函数abc的参数){ } ...
js中的对象一般分为?
与“prototype”定义的另一个不同点是属性的占用空间不同。使用“this”关键字,示例初始化时为每个实例开辟构造方法所包含的所有属性、方法 所需的空间,而使用“prototype”定义,由于“prototype”实际上是指向父级的一种引用,仅仅是个数据的副本,因此在初始化及存储上都比 “this”节约资源。 javascript中有哪些对...