兩個JS之間的函式互相呼叫

lzrit發表於2018-10-09

這個問題是我在工作中用到的一個方法 因為要做封裝
所以想到能不能在一個js中引用另一個js中的function
這樣的話能大大的減少程式碼量

話不多說 先上程式碼

首先要在html頁面引入兩個js檔案
這裡寫圖片描述
1.html

 
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title> </title>

  6. </head>

  7. <script src="1.js"></script>

  8. <script src="2.js"></script>

  9. <body>

  10.  
  11. </body>

  12. </html>

1.js
這裡寫圖片描述

 
  1. function a(){

  2. alert(1);

  3. }

2.js
這裡寫圖片描述

a();
  •  

這樣2.js就可以直接呼叫1.js中的a函式了
當然這樣只是很簡單的方法 下面寫一個閉包中的方法(當然也很簡單啦~~)
1.html

 
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title> </title>

  6. </head>

  7. <script src="1.js"></script>

  8. <script src="2.js"></script>

  9. <body>

  10.  
  11. </body>

  12. </html>

1.js
這裡寫圖片描述

 
  1. var dianji;

  2. (function(){

  3. dianji = {

  4. a:function(){

  5. alert(1);

  6. }

  7. }

  8. })()

這裡的1.js是一個物件函式而且還是閉包的形式,所以我們要把dianji這個變數提升到全域性。這樣在2.js中才能呼叫這個a函式 不然回報變數未定義的錯誤。

想要js之間互相呼叫function,那麼函式就必須是全域性的

2.js
這裡寫圖片描述

dianji.a();

--------------------- 本文來自 老虎的部落格 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qq493820798/article/details/81216090?utm_source=copy

相關文章