JS 有两种访问变量的方式,一种是 a.b
的形式,另一种是 a[b]
的形式,两种大体上没有什么差别。
不同的是,第二种里面的 b
,可以是字符串,也可以是变量。这样,当你不知道某接口或者某对象的属性的时候,可以用一个变量代替,或者写一个 controller
函数时,无需关心 view
需要访问 model
的哪个属性,只需在其中传递变量即可。
比如现在要实现一个将 API 接口
返回的提示信息「转换」为多语言的功能,那么只需要将带转换的文本以键值对形式存储在 JSON 对象
中,然后根据键取值即可。
var langs = {
"invalid_username": "用户名无效",
"invalid_password": "密码无效"
};
function lang(str) {
return langs[str];
}
console.log(lang("invalid_username"));
要关注的是,返回的 langs
中 str
对应的值,是以 []
形式取值的,如果以 .
形式取值,将会是 undefined
。