2016-09-05 120 views
0

你好老鄉程序員,如何訪問從另一個外部JS外部js文件的對象文件

今天我想知道如何從其他外部js文件訪問的對象。我使用這個方法來組織我的代碼遍及多個js文件。這是我想說的一個例子。

從外部js文件想象這樣的代碼:

$(function() { 

    function Person() { 
    this.name = "Bob"; 
    } 

}) 

我想訪問另一個JS文件對象:

$(function() { 

    var person = new Person; 
    alert(person.name); 

}) 

有沒有辦法做這樣的事情?我將如何定位html?

+0

如果'Person'被定義爲像你的海報那麼 - 這是**不可能**在另一個文件中訪問它。 – dfsq

+0

@dfsq你是什麼意思「喜歡你的海報然後」 – Bob

+0

這個問題得到了回答,它花了很長時間才弄清楚,我所要做的就是把javascript文件全部放在畫布元素後面 – Bob

回答

0

我的第一個奇蹟是爲什麼你有你的JS包裝在一個像這樣的功能。你可以在這裏看到我已經從其他腳本訪問過「hello」,因爲它已經在全局空間中設置了。

https://jsfiddle.net/sj7bp97c/

<script src="https://pastebin.mozilla.org/?dl=8907696"> 
</script> 
<script src="https://pastebin.mozilla.org/?dl=8907697"> 
</script> 

一個腳本設置的值,另外它打印到控制檯。除非你的Javascript需要被函數包圍,否則我不確定你爲什麼這樣做。

+0

這是因爲人們一直在說我必須將它包含在jQuery或類似的東西中。 – Bob

+0

不幸的是,我想我的代碼發送到一個文件中,而不是一個url – Bob

+0

@Bob所有的Javascript都在這兩個鏈接(代表外部文件)中找到。 https://pastebin.mozilla.org/8907696是第一個,https://pastebin.mozilla.org/8907697是第二個。 –

0

顯示的功能,以在全球範圍內:

$(function() { 

    function Person() { 
    this.name = "Bob"; 
    } 

    return { 
    Person: Person 
    } 

})() 

時透露,在全球範圍內,你從另一個JavaScript中訪問它作爲腳本已經啓動,一旦文件。所以你需要在之後加入

0

你只需要在html的head部分提及你的兩個js腳本文件。

Javascript會照顧其餘的東西。 <head> <script src="First.js"></script> <script src="Second.js"></script> </head>

+0

它說人是未定義的 – Bob

+0

只需在第二個js文件中寫下面提到的代碼。 function Person(){ this.name =「Bob」; } –

+0

你在申報新對象時也犯了一個錯誤,應該是 var person = new Person() –