是否可以使用函数调用在js中设置对象属性?我试过了,但没用。
var name = "Richard";
function showName() {
var name = "Jack"; // local variable; only accessible in this showName function
console.log(name); // Jack
}
console.log(name); // Richard: the global variable
var myObj = {
name: showName();
};
console.log(myObj.name);
答案 0 :(得分:0)
是否可以使用函数调用在js中设置对象属性?
是的,属性初始化程序的右侧可以包含任何表达式,包括函数调用。将计算表达式,并将结果值分配给属性。 (如果在对象初始值设定项中有多个属性初始值设定项,它们将按源代码顺序执行。)
您的示例无效,因为您没有从name
返回showName
(因为它有一个额外的;
):
var name = "Richard";
function showName() {
var name = "Jack";
snippet.log(name);
return name; // <== Added return name;
}
snippet.log(name);
var myObj = {
name: showName() // <== Removed ;
};
snippet.log(myObj.name);
&#13;
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;