4

私はこのコードを持っています:

<script>
    console.log( Object.keys( this ) );
</script>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script>
    console.log( Object.keys( this ) );
</script>

Firefox では、コンソールに次のように記録されます。

[ "window", "document", "InstallTrigger", "console", "getInterface" ]
[ "window", "document", "InstallTrigger", "console", "getInterface", "location", "$", "jQuery" ]

ライブデモ: http://jsfiddle.net/eX8jQ/

Object.keys(this)jQuery の実行後、 によって 3 つの追加要素がどのように返されるかに注目してください。理由はわかりましたが"$""jQuery"が追加されましたが、なぜ"location"?

Chrome と IE10 でもテストしました。どちらも 、 、 のみ"$"追加"jQuery"されます。

4

2 に答える 2

-1

Firefox では、場所はデフォルトでキーに含まれていませんが、Chrome と IE では最初からキーに含まれています。Chrome と IE10 でこれをテストします: http://jsfiddle.net/eX8jQ/1/また、あなたのフィドルでは、Chrome で Location を確認できます。つまり、配列内の同じ場所にありません。

これを投稿するにはコードを含める必要があるため...

<script>
    console.log( Object.keys( this ) );
</script>

私は実際に IE10 でこれをテストしていません。現時点ではアクセスできません。

于 2013-02-07T22:39:44.567 に答える