0

あなたがいる名前空間に基づいて変化するトークページのリンクを作成しようとしています. 私はこれまでのところこれを持っています:

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

しかし、構文エラー、予期しないトークンの場合を返すだけです。このようにifを使用できないと思いますか?

4

3 に答える 3

2

returnのようなブロックではなく、関数から値またはオブジェクトを渡すためのものif/elseです。

var namespace;

if (wgNamespaceNumber == '0') {
    namespace = 'Talk';
} else {
    namespace = mw.config.get( 'wgCanonicalNamespace' ) + '_talk';
}
于 2013-02-18T19:03:02.240 に答える
0

あなたは正しいと思いました。そのようなIFを割り当てることはできません。

コードを次のように変更します

var namespace = null;

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

そしてそれはうまくいくでしょう。

于 2013-02-18T19:03:29.157 に答える
0

何も返す必要はありません。条件に基づいて変数の値を設定するだけです。ただし、関数は値を返す必要があります。

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

上記の条件は 3 項と呼ばれます ( MDN の方が適切に説明されています) 。

于 2013-02-18T19:06:58.170 に答える