API定義
API 就是 Application Programming Interface (應(yīng)用 編程 接口)三個(gè)單詞的簡(jiǎn)寫(xiě)美旧。就是某個(gè)應(yīng)用或者項(xiàng)目提供一套函數(shù)或者url地址渤滞,用來(lái)訪問(wèn)其中的某個(gè)功能,而我們無(wú)需訪問(wèn)其源碼榴嗅,或理解內(nèi)部工作的細(xì)節(jié)妄呕。
DOM API
DOM 是一個(gè)文檔模型系統(tǒng),其實(shí)就是一個(gè)應(yīng)用嗽测,例如我們知道的html頁(yè)面就是一個(gè)DOM樹(shù)(Application)
如果程序員想在自己編寫(xiě)的代碼里面使用DOM樹(shù)里面的某個(gè)小的DOM元素绪励,那么如何解決呢?(Programming)
這個(gè)時(shí)候DOM樹(shù)就需要提供一個(gè)接口唠粥, 也就是提供一些方法供程序員使用疏魏,例如 document.getElementById('div1')可以獲取id為div1的這DOM元素(這些方法就是 Interface)
案例:
BOM API
BOM 是瀏覽器模型系統(tǒng),瀏覽器技術(shù)一個(gè)應(yīng)用(Application)
如果程序員想在自己編寫(xiě)的代碼里面獲取瀏覽器里面的歷史記錄(Programming)
那么程序員就可以使用瀏覽器提供的 BOM(例如要獲取瀏覽器地址欄的信息 window.location) 接口來(lái)操作瀏覽器 (Interface)
案例:
GitHub API
GitHub 是一個(gè)網(wǎng)頁(yè)(Application)
你想在程序里獲取 GitHub 的數(shù)據(jù)(Programming)
那么程序員需要使用 GitHub 提供的 API來(lái)獲取數(shù)據(jù)
比如你想獲取所有本人 star 過(guò)的項(xiàng)目晤愧,那么請(qǐng)求如下地址:
https://api.github.com/users/superve/starred
就會(huì)得到一個(gè) JSON蠢护,里面包含了所有本人 star 過(guò)的項(xiàng)目。
任何 Application 都能提供用于 Programming 的 Interface养涮,這些 Interface 就是 API。