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

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

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

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

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

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

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

javascript如何判断对象是否相等?

JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕。下面我们就来看一下如何判断对象是否相等。

JS基础之传参(值传递、对象传递)

我们需了解什么是按值传递(call by value),什么是按引用传递(call by reference)。在计算机科学里,这个部分叫求值策略(Evaluation Strategy)。它决定变量之间、函数调用时实参和形参之间值是如何传递的。

Js通过.或者[]访问对象属性的语法、性能等区别

在JavaScript中可以使用 . 或者 [ ] 来访问对象的属性,但是对象中方法只能通过 . 来获取;使用.运算符来存取对象的属性的值。或者使用[]作为一个关联数组来存取对象的属性。但是这两种方式有什么区别了?

对象的隐式类型转换

只有在 JavaScript 表达式或语句中需要用到数字或字符串时,对象才被隐式转换。 当需要将对象转换成数字时,需要以下三个步骤:

javascript中如何创建对象?

javascript是一种“基于prototype的面向对象语言“,与java有非常大的区别,无法通过类来创建对象。那么,既然是面象对象的,如何来创建对象呢?

Js中Error错误对象

error,指程序中的非正常运行状态,在其他编程语言中称为“异常”或“错误”。解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信息。ECMAScript定义了六种类型的错误。除此之外,还可以使用Error构造方法创建自定义的Error对象,并使用throw语句抛出该对象。

原生js实例对象方法_Array、String、Data

toString() // 把数组转换为字符串,使用逗号分隔,valueOf() // 返回数组对象本身。ary.push() // 该方法有一个返回值,表示数组最新的长度,该方法中可以设置多个参数,aary.pop() //返回数组中最后一个字,且会修改数组的长度

vue事件获取当前对象

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

javascript中内置对象和浏览器对象的区别是什么?

JavaScript对象是包含相关属性和方法的集合体。在 JavaScript 中,对象是数据(变量),拥有属性和方法。在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象。

点击更多...

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