0

私はgoogle-chromeに問題があります。私はこのような通常の機能をfunction a(b){ return b; } 持っていますが、コードにこのvar number=a(5);document.write(number);google chromeがある場合、[object DOMWindow]と表示されます

FFではうまく機能しますが、どこに問題がありますか? ありがとう

4

1 に答える 1

0

top現在のページの一番上のオブジェクトを参照する読み取り専用のグローバル変数です。window読み取り専用であるため、新しい値を割り当てることはできません。

var top = 1;
console.log(top); // [object DOMWindow]

割り当ては静かに失敗しました。ただし、strict モードがアクティブになると、TypeError がスローされます。これは、getter のみを持つプロパティを設定しようとしていることを示します。

"use strict";
var top = 1; // <-- Error!

コードがグローバル コンテキストで実行されるため、前述のことが起こります。ただし、変数をローカルで(つまり、グローバルではなく)宣言すると、関数は機能します。

(function() {
    'use strict';
    var top = 1;
    return top;
})(); // Returns 1, no errors.
于 2012-07-03T13:27:52.013 に答える