我尝试将枚举传递给函数,但不断收到“未定义”错误。
如果我尝试这个:
var myVar = new myFunc('{ first:1, second:2 }')
然后
function myFunc(enum) {
var myEnum = enum;
}
我发现 myEnum
被定义为 {first:1, secondary:2 }
但 myEnum.second
未定义。
如果我将相同的值直接硬编码到 myEnum =
中,它就可以工作。
我还尝试将大括号放在 myEnum =
行上,但没有任何变化。
我做错了什么?我是否只是将一个字符串传递给 myEnum
?
如果是这样,我如何确保 myEnum
确实是一个枚举?
最佳答案
这里您使用字符串,因为您已将对象限制在引号 '
内var myVar = new myFunc('{ 第一个:1, 第二个:2 }')
myEnum.second
表示您正在尝试访问 myEnum
引用对象的 second
属性,但事实并非如此。使用引号 '
左右
使用
var myVar = new myFunc({ first:1, second:2 })
关于javascript - 将枚举传递给函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42397391/