JS声明对象时属性名加引号与不加引号的问题

时间: 2018-04-18阅读: 1077标签: 对象

一般情况下属性名加引号和不加引号是都可以的,效果是一样的。

var obj = {  
    name    : '你好',  
    'age'   : 1,  
};  
   
document.write( obj['name'] + '<br />' );  
document.write( obj.age);

上面两行代码均可以正确执行。当且仅当你的属性名是非法怪异的名字时候,会报错。

var obj = {  
    333 : '这个会报错'  
}; 
document.write( obj.333);


此时报错。

var obj = {  
    “333”: '这个也会报错'  
}; 
document.write( obj.333);


如果属性名是数字,则必须有双引号,并且用[] 方括号访问。

var obj = {
    "333": '这个正确'
};
console.log(obj["333"]);


结论:使用合法属性名,使用 . 和 [] 访问都可以;

如果属性名是数字,则必须用“”包围,并且用 [] 方括号访问。

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/663

关闭

使用Js的Proxy监听对象属性变化并进行类public/private的访问控制

Proxy是ES6的引入的一个对象监听机制。可视为JavaScript对象的一个代理中间件。用户在访问对象时,会触发自定义行为。Proxy最简单的用法是可以监听对象属性的变化

js中arguments对象_理解arguments参数

在js中万物皆对象,甚至数组字符串函数都是对象。所以这个叫做arguments的东西也是个对象,而且是一个特殊的对象,它的属性名是按照传入参数的序列来的,第1个参数的属性名是0,第2个参数的属性名是1,以此类推,并且它还有length属性,

Js对象的增删改查

以后看到的,除了5种基本数据类型就是对象 ,JS中表示一个人的信息(name,gender,age),如果使用基本数据类型,我们所创建的变量都是独立的,不能成为一个整体, 对象属于一种复合的数据类型

JavaScript重构技巧_对象和值

JavaScript 是一种易于学习的编程语言,编写运行并执行某些操作的程序很容易。然而,要编写一段干净的JavaScript 代码是很困难的。在本文中,我们将介绍一些优化 JS 类和对象的重构思路。

js对象的封装、继承和多态

面向对象三大特性就是封装继承和多态,简单理解,对于猫这种动物,它本身就是一个封装好的类,你只需要供它吃喝(输入),它就能表现猫的行为(输出),同时它继承了动物所具有的习性(吃东西等~)

js包装对象

对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的包装对象。所谓包装对象,就是分别与数值、字符串、布尔值相对应的Number、String、Boolean三个原生对象。

js中关于for...in遍历对象属性的顺序问题

对象使用obj.length时,它得到的值是undefined的,所以只能通过for...in循环获取对象的属性,我们发现并没有按属性的顺序显示,而且顺序在各个浏览器下显示也不同。 这是为什么呢?

vue事件获取当前对象

currentTarget:返回其监听器触发事件的节点,就是你的点击事件绑定在哪一个元素上 ,arget:返回事件的目标节点(触发该事件的节点),就是你当前点击的是哪一个元素

js是面向对象还是基于对象_js面向对象的代码体现

javascript是面向对象的,还是面向过程的?基于对象是什么意思?对象: 指的是对某一类事物进行抽象,抽象出这一类事物共同的特征以及行为,也就是属性和方法

javascript的navigator对象及属性userAgent

js test()方法用于检测一个字符串是否匹配某个模式.如果字符串中有匹配的值返回 true ,否则返回 false

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!