Javascript将对象属性或变量显示为字符串
我想知道是否有可能这样做:Javascript将对象属性或变量显示为字符串,javascript,Javascript,我想知道是否有可能这样做: var myObject={ 第一个:“Hello”+otherObject.second()+someVariable; } 然后调用它并以html显示: html+=myObject.first()或myObject.first 我希望它显示“someVariable”和“otherObject.second()”的所有值。当前它显示如下内容: 函数(){ 返回2*2 } 但我希望它将“4”显示为一个字符串/数字,因此结果类似于“Hello4”。我希望你能理解我的
var myObject={
第一个:“Hello”+otherObject.second()+someVariable;
}
然后调用它并以html显示:
html+=myObject.first()
或myObject.first
我希望它显示“someVariable”和“otherObject.second()”的所有值。当前它显示如下内容:
函数(){
返回2*2
}
但我希望它将“4”显示为一个字符串/数字,因此结果类似于“Hello4”。我希望你能理解我的问题:)如果这是不可能的,或者这样做总体上是个坏主意,那么也请让我知道,我会想出其他办法。你可以使用:
console.log("foobar", myfn());
其他人是对的-您不应该使用
eval
功能。特别是,如果没有它也能解决问题的话
在您的情况下,可以使用函数替换此变量,并在需要时调用它:
var myObject = {
first: function() {
return "Hello" + otherObject.second() + someVariable;
}
}
现在,您可以将其作为函数调用:
alert(myObject.first());
// or
html += myObject.first();
otherObject.second()
和someVariable
将在函数调用时计算。我不确定我是否理解您的问题,但您是否尝试过使用eval函数?嘿,不,我没有尝试过eval函数,但我以前在很多评论中读到过它,大多数人都说不应该使用它。我现在测试了它,它似乎就是我要找的。嘿,这是一个相当古老的帖子,但你的答案是正确的,所以让我接受它:)