为了账号安全,请及时绑定邮箱和手机立即绑定

为什么调用的时候对象字面量的name和age属性一定要加引号?

为什么调用的时候对象字面量的name和age属性一定要加引号?

清风流光 2017-04-25 16:16:18
function createComparisonFunction(propertyName) { return function(object1, object2){ var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value1 < value2){ return -1; } else if (value1 > value2){ return 1; } else { return 0; } }; }  var data = [{name: "Zachary", age: 28}, {name: "Nicholas", age: 29}]; data.sort(createComparisonFunction("name")); alert(data[0].name); //Nicholas data.sort(createComparisonFunction("age")); alert(data[0].name); //Zachary为什么调用的时候对象字面量的name和age属性一定要加引号?
查看完整描述

3 回答

已采纳
?
慕勒7123956

TA贡献35条经验 获得超15个赞

不加引号的一律当变量处理的

查看完整回答
1 反对 回复 2017-04-25
?
feno

TA贡献4条经验 获得超0个赞

加引号表示是字符串,不加引号就意味着传入的是变量

查看完整回答
反对 回复 2017-04-25
  • 西兰花伟大炮
    西兰花伟大炮
    是吗?不能是函数,对象?
  • 慕勒7123956
    慕勒7123956
    函数,对象都是可以的。
  • feno
    feno
    不能,JavaScript的对象,本质上是键值对,只能用字符串当作键;如果用其他类型做键,可以使用es6中的Map
点击展开后面1
?
慕前端8664132

TA贡献20条经验 获得超0个赞

人家语法就是这样啊

查看完整回答
反对 回复 2017-04-25
  • 3 回答
  • 0 关注
  • 2114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信