Javascript 不完全语句的三元运算
句法问题;是否可以执行以下操作:Javascript 不完全语句的三元运算,javascript,jquery,chaining,ternary,Javascript,Jquery,Chaining,Ternary,句法问题;是否可以执行以下操作: var home_page_feed; var videos = $get_utoob_videos; for each(video in videos) { if(video.special_interests) $(home_page_feed).prepend(video.thumbnail); else $(home_page_feed).append(video.censornail); } …但在单三
var home_page_feed;
var videos = $get_utoob_videos;
for each(video in videos) {
if(video.special_interests)
$(home_page_feed).prepend(video.thumbnail);
else
$(home_page_feed).append(video.censornail);
}
…但在单三元操作中,如下所示:
for each(video in videos)
$(home_page_feed) .CHAIN.
video.special_interests ?
// true - chain this
.prepend(video.thumbnail) :
// false - chain this instead
.append(video.censornail);
我把.CHAIN.作为占位符。是否有一个jQuery函数会通过三元操作赋值链接到一个不完整的语句?我喜欢在语句和操作中使用三元,因为它很简单,所以任何帮助都将不胜感激
回答
感谢@Barmar,他建议使用eval()函数,我能够将它包装成三元操作
$.each(videos, function(i, video) {
eval ("$(home_page_feed)" +
((video.special_interest) ?
".prepend(video.thumbnail)" :
".append(video.censornail)"
)
);
});
这应该是有帮助的
var home_page_feed;
var videos = $get_utoob_videos;
for each(video in videos) {
(video.special_interests)?$(home_page_feed).prepend(video.thumbnail): $(home_page_feed).append(video.censornail);
}
希望有帮助这应该会有帮助
var home_page_feed;
var videos = $get_utoob_videos;
for each(video in videos) {
(video.special_interests)?$(home_page_feed).prepend(video.thumbnail): $(home_page_feed).append(video.censornail);
}
希望对您有所帮助您可以在
.append()
或者您可以将其放入索引中:
$.each(videos, function(i, video) {
$(home_page_feed).append(video[video.special_interests ? "thumbnail" : "censornail"]);
});
请注意上一版本中的引号
您可以使用eval()
您可以在
.append()
或者您可以将其放入索引中:
$.each(videos, function(i, video) {
$(home_page_feed).append(video[video.special_interests ? "thumbnail" : "censornail"]);
});
请注意上一版本中的引号
您可以使用eval()
这两个代码段一开始都不是有效的javascript,即使没有这个.CHAIN。神秘物品-但是不,从我对你的代码的一点了解来看,你不能这么做,第一个在正确的全局条件下是有效的;但是,关于这个问题,您不需要运行它。
对于每个
——这在某种javascript风格中有效吗?我一定是中风了,因为我根本记不起这个语法@JaromandaX LolThank@squint-我真的很关心我的健康:这些代码片段中的任何一个都是有效的javascript,即使没有这个.CHAIN。神秘物品-但是不,从我对你的代码的一点了解来看,你不能这么做,第一个在正确的全局条件下是有效的;但是,关于这个问题,您不需要运行它。对于每个
——这在某种javascript风格中有效吗?我一定是中风了,因为我根本记不起这个语法@JaromandaX LolThank@squint-我真的很关心我的健康:pThanks,但我希望作为一个操作,将一个不完整的声明链接起来。您的不是一个操作,有2个完整的语句;这就是我想简化语法的原因,这样你就不必写两次$(home_page_feed)。谢谢,但我希望把不完整的语句作为一个操作链接起来。您的不是一个操作,有2个完整的语句;这就是我想简化语法的原因,这样你就不必写两次$(home\u page\u feed);很棒的语法。不是我想要的,但是谢谢你的酷把戏。我在想我要做的是不可能的?那么我不理解你的要求。最后一个循环毫无意义,因为每次通过循环时都只是覆盖chain
。你的意思是说chain+=
,这样它就可以连接到它了吗?你不能创建这样的Javascript片段,然后通过连接来执行它们。你可以使用eval()
做你想做的事,但那太恶心了。但我会把它加到我的答案中。在PHP中,您可以编写$object->$methodName()
来调用变量中指定的方法;很棒的语法。不是我想要的,但是谢谢你的酷把戏。我在想我要做的是不可能的?那么我不理解你的要求。最后一个循环毫无意义,因为每次通过循环时都只是覆盖chain
。你的意思是说chain+=
,这样它就可以连接到它了吗?你不能创建这样的Javascript片段,然后通过连接来执行它们。你可以使用eval()
做你想做的事,但那太恶心了。但我会把它加到我的答案中。在PHP中,您可以编写$object->$methodName()
来调用变量中指定的方法。