js的object的key需要引号吗,JavaScript中对象是否需要加引号?
对象的属性名是包括空字符串在内的所有字符串。
那么问题来了,我们平时定义的对象如下,是没有引号""or''的,这样不加引号有没有错呢?
答案是,加不加分情况!但加了肯定没问题...
一般情况下
一般情况下,加不加引号都一样,
var object= {
name: 'Leonardo',
'age': 21,
};
document.write('name: ' + object['name'] + '
');
document.write('age: ' + object.age + '
');
执行结果是:
name: Leonardo
age: 21
也就是说,如果是字符串,而且属性名是合法的(不是javascript的保留字)是允许不用引号括起来属性名。
另外,我又注意到了,调用对象的属性名的时候,我们知道,有两种写法:
第一种object.name 还是 stooge."name" 呢?
第二种object[name] 还是 stooge["name"] 呢?
实验结果表明:
第一种object.name
可以这么写,也就是说,这种写法也是默认支持不用引号括起来属性名。(必须符合标识符原则)
第二种object["name"]
应该这样写,此种写法类似数组,一定要在[ ]中加入对应有引号的字符串,才能识别出键。(万能写法)
特殊情况
var obj = {
123name: 'Leonardo',
}
document.write('name: ' + object.123name + '
');
这种情况就会报错,因为如果没有引号,key就会依照标识符原则。
(1)标识符由字母、数字和下划线组成
(2)标识符的第一位必须是字母或者下划线,不能是数字
如果加上引号这是可以的,所以引号下的'key'中可以说任何字符包括空格。但同时取值也需要用[' ']的方式。
var obj = {
'123name': 'Leonardo',
}
document.write('name: ' + object['123name'] + '
');
扩展
甚至还可以这样:
var obj = {
'123name': 'Leonardo',
'': '空',
' ': '一个空格',
}
document.write('name: ' + obj['123name'] + '
');
document.write(obj[''] + '
');
document.write(obj[' '] + '
');
so,看了这篇博客之后,你是加呢还是不加呢~~
js的object的key需要引号吗,JavaScript中对象是否需要加引号?相关推荐
- JavaScript中对象(Object)的方法
JavaScript中对象方法总结: 资料来源:网道-互联网开发文档 [https://wangdoc.com/] 1.Object.getPrototypeOf(Object) Object.get ...
- JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法 参考文章: (1)JS IOS/iPhone的Safari浏览器不兼容Javascript中的D ...
- js的object的key需要引号吗_今天你用书名号了吗?
此文为英语标点使用指南.牛津大学发布的University of Oxford Style Guide中出现的英文标点有14种,它们是: 以下简要总结各标点的使用. 句号.问号.感叹号用于句末,结束句 ...
- javascript 无法修改 数组中对象_谈谈JavaScript中对象建立(Object)
在这篇文章中我将会着重说明如何创建JavaScript里的对象(Object). 对象(Object)是什么? 在开始介绍如何创建对象前,我们要知道对象是什么.对象(Object)简单地来说,就是一堆 ...
- HTML中属性值是否加引号规则详解
说明: 当属性值是一个单词或者一整串(中间不含空格)的字符时:可以不加引号 当属性值是多个单词或者一整串(中间含空格)的字符时:需要加引号 备注:以上是老师的原话,个人实验发现,具体加不加引号是以是值 ...
- php循环给数组每个值加引号,php数组非数字键名加引号的必要性!
我们可以看出, 基本上, 使用引号,和不使用引号的效率损失在3倍以上 那么, 这些效率损失到哪里去了呢? 我们分别看下, 俩个文件生成的OPCODE序列: good.php : filename: / ...
- html 反引号 用法,JavaScript中的反引号符号(`)的用法是什么?
ES6提供了一种新类型的字符串文字,使用反向标记作为分隔符.这些文字确实允许嵌入基本的字符串插值表达式,然后自动解析和评估它们. let person = {name:'RajiniKanth',a ...
- js数组查找最接近_如何从javascript中的对象数组中获取最接近的先前id
我对您的代码进行了一些更改,现在应该可以正常工作了.看一看. const array = [{id:3}, {id:4}, {id:10}, {id:15}]; // you should order ...
- JavaScript中Object的总结
基于原型继承,动态对象扩展,闭包,JavaScript已经成为当今世界上最灵活和富有表现力的编程语言之一. 这里有一个很重要的概念需要特别指出:在JavaScript中,包括所有的函数,数组,键值对和 ...
最新文章
- 让Flash背景透明兼容Firefox、IE 6和IE 7的代码
- linux下安装MySQL出错file /usr/share/mysql/charsets/latin2.xml from install of MySQL-......
- java快速排序泛型,如何进行对C# .NET通用泛型进行快速排序?
- 电脑小米路由器设置虚拟服务器,小米路由器在Win7系统中设置网络映射教程
- php论坛有哪些_建网站的软件哪个好?建网站的软件有哪些?
- 和菜鸟一起学linux之DBUS基础学习记录
- 网友评论:Struts漏洞为什么来势凶猛
- python输入变量输出常量_Python输入input、输出print
- 超酷jQuery进度条加载动画集合
- eclipse新建java项目_用eclipse创建Java项目(以一个初学者的角度全面教学)
- 家庭农场海边作弊工具的Andr​​oid的ios
- cachecloud 安装
- 买书问题的动态规划实现
- sql2008服务器运行哪个,SQL SERVER 2008R2 暂用服务器内存直到服务器死机。
- 局域网我的世界找不到服务器,我的世界局域网为什么连接不到服务器
- 计算广告笔记05-搜索广告与竞价广告
- const与const
- UNIX网络编程:卷2-读书笔记
- 数据库的基本操作(一)
- EBox4300 Dev Start