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

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属性一定要加引号?

清风流光
浏览 2057回答 3
3回答

慕勒7123956

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

慕的地8582982

UDAAHZLELOOCANQNXUNHUEVIPKGQKQKDNVRMPHNHWOAJOUFBOMSLFCPQMGQTQPNQGQQOIBJWLBVFVNNXGJJJKOXRHGKCIGZPTWKVQUXOYHXHHKTJDDUXXNWDTBBMMIIHTZTPIHVZVFIPCCGEAHQDJTGTUOAPQQTLVOEORBDRKCVSFTCCZIROEHKEOREODOTEUHGNGPSIRZFPJWKONBQDYHFGHDDZJZTMZJSWSEXQWFPSLISCICTJGJPDCIROHCYJADDNTMQJTXULMVCCPIOTZMPKGQWJCWSBIVIMZXEEODMHQYLIJJWATAAUQULEXROEHSLLRBKRUHOKKKUUGJDTPYXUBXVSSIIBMAYVIISMCQDZSWFTTEOKEDKKXDBVQUQKXENNARFSVBPLDZGFCYYQTCPSYBBOHREBDMSIPYSFSSMFCCRBVRFRDUHDLKHEXFENJTDKJGTQWQWWTWKJCMBBUHNXNDTMWVZTPGGSDFPIRBYLRBHFQRLYBVLYXUNAISHBYERGZCRUOUYULSVRGPZCVOBHUYKRHAAXHADTXRPORFLYYFCMIZCWSBVHAXUOPGJJMZMSMFPPMZSFKQMWPQLKRRMLVCWPGMVILLPCQMAEMXUUNVERBUYCPZTQRCZTMMMYLGJGMJTGSEOVGQNKIOTQPCJAATDFSMPWISWCQJCSCSJJNIVOORIVUGMJMTBWQJMZGWJNAAGNQURZWOYERQUNEDUWBEVVCOYXWCSGWJZMJCMFJPJEFJDDWNQAQHYVOKLRLNJPSWNQQGDFBFFXXYLVBILECFVFVVJCMXUNNROXFGEEOAKDQWMTTNQZZCISFCLFFSVYWSFJMFVOLLUIYYBRFBUVIBBKXKDHEUKMFUNRPIGKXAQP

feno

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

慕前端8664132

人家语法就是这样啊
打开App,查看更多内容
随时随地看视频慕课网APP