Javascript 简单的web服务器示例-为什么必须将属性名称加引号?
考虑以下示例:Javascript 简单的web服务器示例-为什么必须将属性名称加引号?,javascript,node.js,Javascript,Node.js,考虑以下示例: var http = require('http'); var server = http.createServer(function(request, response) { response.writeHead({ 'content-type': 'text/plain' }); response.end('Hello world!'); }); server.listen(8000); 为什么我必须将内容类型属性名称置于引号中?writeHead不需
var http = require('http');
var server = http.createServer(function(request, response) {
response.writeHead({
'content-type': 'text/plain'
});
response.end('Hello world!');
});
server.listen(8000);
为什么我必须将内容类型
属性名称置于引号中?writeHead不需要一个普通的JS对象吗?为什么我不能写这样的东西:
{
content-type: 'text/plain'
}
如果JavaScript对象文本的属性名不是a(即可以用作变量名的名称),则必须引用该名称;整数显然也可以。由于破折号字符(
-
)不是标识符的有效部分,因此必须引用字符串
varo;
o={content type:'text/plain'};//=>SyntaxError:意外标记“-”
o={'content-type':'text/plain'};//=>好啊
o={contentType:'text/plain'};//=>好啊
o={123:456};//=>好啊
o={$x:123};//=>好啊
o={π:234};//=>好啊