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()
来调用变量中指定的方法。