亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的模塊化 JS 代碼有問題 TypeError 不是函數

我的模塊化 JS 代碼有問題 TypeError 不是函數

Cats萌萌 2023-05-11 13:52:16
我試圖模塊化 JS 代碼,但在一個點上停留了很長時間,我知道解決方案很容易,但就是想不通。這是小提琴鏈接: Fiddle。也在這里添加代碼。window.a = (function () {  function abc() {    alert("Hi");  }  return {    abc: abc  }});window.b = (function (aWindow) {  function i() {    aWindow.abc();  }  return {    i: i  }})(window.a);<a href="#" class="abc" onClick="window.b.i()">Click Me</a>錯誤"<a class='gotoLine' href='#60:10'>60:10</a> Uncaught TypeError: aWindow.abc is not a function"
查看完整描述

3 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

您需要調用 window.a 從其原型中獲取一個對象。



window.b = (function(aWindow) {


  function i() {

    aWindow.abc();

  }


  return {

    i: i

  }


})(window.a()); //Call Window.a


查看完整回答
反對 回復 2023-05-11
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

你()打電話時錯過了aWindow。這個片段效果很好。


window.a = (function () {

  function abc() {

    alert("Hi");

  }

  return {

    abc: abc

  }

});



window.b = (function (aWindow) {

  function i() {

    aWindow().abc();

  }

  return {

    i: i

  }

})(window.a);

<a href="#" class="abc" onClick="window.b.i()">Click Me</a>


查看完整回答
反對 回復 2023-05-11
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

您錯過了()定義window.a,因此未執行。


window.a = (function () {

  function abc() {

    alert("Hi");

  }

  return {

    abc: abc

  }

})();


window.b = (function (aWindow) {

  function i() {

    console.log(aWindow);

    window.a.abc();

  }

  return {

    i: i

  }

})(window.a);

<a href="#" class="abc" onClick="window.b.i()">Click Me</a>


查看完整回答
反對 回復 2023-05-11
  • 3 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號