当我遇到语法错误时,我正在尝试使用一些JavaScript。我试图分配一个对象键,其中包含从方法返回的值。
var a = new function(){
this.b = function()
{
return "c";
}
};
var myobj = {
a.b:"d" //Syntax error, unexpected '.'
};
以上将引发错误;但然后javascript将允许:
var n = a.b;
var myobj = {
n:"d" //no error
};
即使typeof a.b
和typeof n
返回的功能与函数相同吗?
答案 0 :(得分:2)
虽然看起来很奇怪,但如果你记录myobj.c
,我希望你能得到一个结果。使用es6,您可以执行以下操作:
var a = function(){
this.b = function()
{
return "c";
}
};
var myobj = {
[a.b()]:"d"
};
console.log(myobj.c); // d

但你为什么要这样做?
答案 1 :(得分:1)
我猜你在尝试这样的事情?
var myobj = {
"d": a.b
};
然后myobj.d()
或@baao已经回答了另一种可能性?