看板 Ajax 關於我們 聯絡資訊
※ 引述《LaPass (LaPass)》之銘言: : 就一般網頁上而言 : 我們知道有 window 這個物件可以用 : 然後可以對一些網頁視窗做操作 : 其他還有 document 等等 : 另外一種是已經存在的 function : 像是 alert() : 以及一些語言內建的物件 : 像是 Date JSON等等 : 請問有辦法「用程式」把現在的執行域下,可用的東西通通都列舉出來嗎? : 因為環境不一定是在網頁上 : 也有可能是在node.js : 甚至是java的 Rhino : 我想知道到底有哪些變數、function、物件可以用 (function(global) { var i; for (i in global) { console.log(i+":"); console.dir(global[i]); } }(this)) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.162.20 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1432110214.A.B02.html ※ 編輯: mrbigmouth (220.130.162.20), 05/20/2015 16:30:00
mmis1000: 你根本找不到function scope的那個 "global" 05/20 17:19
mmis1000: 只有跑在global下的code能這樣用 05/20 17:20
如果你無法肯定你的code是不是跑在global下可以用下面這方法 雖然通常不建議使用這類eval的code (function(global) { var i; for (i in global) { console.log(i+":"); console.dir(global[i]); } }((new Function("return this;"))());
LaPass: 咦?雖然我記得有的JS引擎可以鎖global下的this,讓他變成 05/20 17:41
LaPass: null,但應該可以玩玩看 =V= 05/20 17:42
LaPass: global = {} QAQ 05/20 17:46
LaPass: 環境是node.js 05/20 17:46
※ 編輯: mrbigmouth (220.130.162.20), 05/20/2015 18:03:05 ※ 編輯: mrbigmouth (220.130.162.20), 05/20/2015 18:03:23
LaPass: 少一個括號。 05/20 18:13
LaPass: 我試成功了,這就是我要的結果 XD 05/20 18:14