-3

ここに私の機能があります:-

function setLangCookie() {
  "use strict";
    var value = "FR";
    var expiredays = 1825;
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = "lang=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toGMTString());
}

エラー:

7 行目:document.cookie = "lang=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toGMTString());

期待さ'==='れ、代わりに見た'=='

7 行目:document.cookie = "lang=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toGMTString());

'escape'定義されていません。

4

3 に答える 3

3

あなたはにいますstrict mode。接頭辞 を使用してウィンドウ オブジェクトのプロパティにアクセスする必要がありますwindow.

于 2012-11-02T13:13:43.350 に答える
1

window.escapeただの代わりに使ってほしいescape

また、デフォルト設定を使用している場合、null チェックでトリプルイコールを使用しないと怒鳴られると思います。

function setLangCookie() {
  "use strict";
    var value = "FR";
    var expiredays = 1825;
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = "lang=" + window.escape(value) + ((expiredays === null) ? "" : ";path=/;expires=" + exdate.toGMTString());
}
于 2012-11-02T13:14:57.103 に答える
0

エスケープが定義されていないことを除けば、「===」の代わりに「==」が表示されることに関する不満は、Javascriptが平等を扱う方法に関連しています。'==='では、2つの比較された値が同じ型である必要があります。ここで、'=='は、型を強制して等価性を取得します。

ほとんどの場合、代わりに'==='を使用する必要があります。これは、として0扱われるなどの微妙なバグを防ぐためfalseです。

于 2012-11-02T13:18:25.223 に答える