FC2ブログ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
JavaScriptの秘密
for( i in window ){
  console.log(i);
}

このソースを実行すると、
window
__scope__
console
document
addEventListener
__firebug__
location
navigator
Packages
sun
java
netscape
XPCNativeWrapper
Components
parent
removeEventListener
frames
length
top
scrollbars
name
scrollX
scrollY
scrollTo
scrollBy
getSelection
scrollByLines
scrollByPages
sizeToContent
dump
setTimeout
setInterval
clearTimeout
clearInterval
setResizable
captureEvents
releaseEvents
routeEvent
enableExternalCapture
disableExternalCapture
prompt
open
openDialog
find
self
screen
history
content
menubar
toolbar
locationbar
personalbar
statusbar
directories
closed
crypto
pkcs11
controllers
opener
status
defaultStatus
innerWidth
innerHeight
outerWidth
outerHeight
screenX
screenY
pageXOffset
pageYOffset
scrollMaxX
scrollMaxY
fullScreen
alert
confirm
focus
blur
back
forward
home
stop
print
moveTo
moveBy
resizeTo
resizeBy
scroll
close
updateCommands
atob
btoa
frameElement
dispatchEvent
getComputedStyle
sessionStorage
globalStorage

このように、windowのキー(つまり、プロパティまたはメソッド)が表示される。

では、つぎのようにしてみよう。
function hoge(){ }

for( i in window ){
  console.log(i);
}
hogeという関数を用意してみた。

結果はこうだ
__scope__
hoge
i
window
console
document
addEventListener
__firebug__
location
navigator
Packages
sun
java
netscape
XPCNativeWrapper
Components
parent
removeEventListener
frames
length
top
scrollbars
name
scrollX
scrollY
scrollTo
scrollBy
getSelection
scrollByLines
scrollByPages
sizeToContent
dump
setTimeout
setInterval
clearTimeout
clearInterval
setResizable
captureEvents
releaseEvents
routeEvent
enableExternalCapture
disableExternalCapture
prompt
open
openDialog
find
self
screen
history
content
menubar
toolbar
locationbar
personalbar
statusbar
directories
closed
crypto
pkcs11
controllers
opener
status
defaultStatus
innerWidth
innerHeight
outerWidth
outerHeight
screenX
screenY
pageXOffset
pageYOffset
scrollMaxX
scrollMaxY
fullScreen
alert
confirm
focus
blur
back
forward
home
stop
print
moveTo
moveBy
resizeTo
resizeBy
scroll
close
updateCommands
atob
btoa
frameElement
dispatchEvent
getComputedStyle
sessionStorage
globalStorage

上から2つ目に注目である!
なんと、 hoge がいるではないか!!!!
つまり、 hogeという関数を用意したら、
あなたの知らないうちに、 windowオブジェクトが書き換えられていたのだぁああああ!!!

ということは、
hoge()
と呼び出すかわりに、
window.hoge()
とも書けるというわけである。


あれ、一回目の結果に i がいないなぁ......... なぜ....
スポンサーサイト
コメントを投稿する
Name:
URL:
Comment:

秘密:管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事にトラックバックする(FC2ブログユーザー)
ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

08 | 2018/09 | 10
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

ブロとも申請フォーム

この人とブロともになる

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。