2013-02-18 71 views
0

一起存储值我试图创建一个会话页面链接,该链接根据您可能位于的命名空间进行更改。例如,如果您处于主空间,您将被指向Talk:如果分类到Category_talk :.我到目前为止:将值存储在一个变量中,并与if

var namespace = if (wgNamespaceNumber == '0') { 
    return ('Talk'); 
} else { 
    return (mw.config.get('wgCanonicalNamespace') + '_talk'); 
} 

但它只是返回语法错误,意外的标记如果。我猜你以这种方式不能使用?

回答

2

return用于将值或对象从函数中传递出来,而不是像if/else这样的块。

var namespace; 

if (wgNamespaceNumber == '0') { 
    namespace = 'Talk'; 
} else { 
    namespace = mw.config.get('wgCanonicalNamespace') + '_talk'; 
} 
0

你猜对了。你不能像这样分配一个IF。

更改你的代码

var namespace = null; 

if (wgNamespaceNumber == '0') { 
    namespace = 'Talk'; 
} else { 
    namespace = (mw.config.get('wgCanonicalNamespace') + '_talk'); 
} 

,它会工作。

0

你不需要返回任何东西。您可以根据条件设置变量的值。该函数将需要返回一个值。

var namespace = (wgNamespaceNumber == '0') 
    ? 'Talk' 
    : mw.config.get('wgCanonicalNamespace'); 

上面的条件被称为三元(MDN explains it better

相关问题