簡體   English   中英

為什么我無法訪問全局 scope?

[英]Why I can't access global scope?

我有一個像這樣的 function:

const doIt = (name => {
   const aLocalVarible = {};
   const obj = {
      one: function(name) {
         Console.log(name);
         //Says that the name variable has a value
         window[name]();
         //Some code
      },
      two: function() {
         //Some code
      }
   };
   return obj;
})();

如您所見,這是一個帶有閉包的自調用 function。 僅為其aLocalVarible定義一個LocalVarible。 一切都很好。 但那一行window[name](); 用於調用變量 function 不起作用。

當我運行時:

doIt.one('getData');

我明白了:

TypeError: window[name] is not a function

那么為什么不能訪問全局的scope呢? 雖然存在具有傳遞名稱的 function。

編輯:為了更清楚,它是 function 它的名字通過了。 它在全球 scope 中。

const getData = () => {
   alert('pagination!');
};

你可以試試var getData =...如果這個腳本是全局的而不是 type="module" 它應該把 getData 放在 window 上。 或者,您可以像這樣明確地將其放在 window 上: window.getData =...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM