欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Javascript使用include/require

 更新時間:2013年11月13日 10:27:03   作者:  
它有一個要求就是你的前端js是作為模塊式的開發(fā), 在前端邏輯比較復(fù)雜的話, 使用模塊式來進行前端開發(fā)應(yīng)該是種不錯的選擇。這里只簡單介紹一下

1. javascript include
Javascript 沒有 include 語句有時挺討厭, 特別是腳本和腳本之間存在依存的關(guān)系, 你根本就不能動態(tài)的去控制加載腳本, 一般來說最簡單的 include 基本就是這樣的, 當然我們這個使用了 jQuery 來進行請求腳本.

復(fù)制代碼 代碼如下:

  include: function (jsurl) {
        if (jsurl == null || typeof(jsurl) != 'string') return;
        var js = document.createElement('script');
        js.type = 'text/javascript';
        js.charset = 'utf-8';
        js.src = jsurl;
        $.ajaxSetup({ cache : true });
        $('head').append(js);
        //$.getScript(jsurl);
 }

基本用法

需要注意的是該函數(shù)其實在發(fā)送GET請求的事情是 jQuery.ajax 的 getScript() 來處理的, 但是在GET后的處理和 $.getScript() 不同, 因此導(dǎo)致使用方法會不一樣, getScript() 一般需要把有依賴的函數(shù)寫到它的回調(diào)函數(shù)中去, 如:

$.getScript('some.js', function() {
    // 做寫依賴 some.js文件的事情.
});

而我們這里的 include 不需要這么寫, 而是直接:

include('some.js');

// 這里可以直接寫依賴 some.js 文件中定義的函數(shù)

開啟緩存

另外就是關(guān)于文件緩存, 默認情況下 $.getScript 是會在 url 后面加上一個時間戳, 使得在第二次請求的時候不讓瀏覽器去讀取緩存文件, 如果我們 getScript("some.js") , 最后在請求的時候會變成 GET some.js?_23432434534235 之類的, 這是一種強制不緩存的策略, 在開發(fā)階段是比較好的, 但到了生產(chǎn)階段, 會導(dǎo)致用戶的瀏覽器每次都不緩存我們的js腳本, 這對效率是很大的影響, 我們應(yīng)該自己在js腳本后面自己加上版本戳, 比如 some.js?v=1 , 而不是使用每次都會變的時間戳, 所以需要使用:

$.ajaxSetup({ cache : true });

這樣就會關(guān)閉jQuery自動在url后面加上時間戳的特性.

requireJs

如果你的腳本大量的存在互相依賴關(guān)系, 而又需要動態(tài)的決定加載哪些腳本, 那么我推薦的是使用requirejs .

它的基本用法是:

require(["some/module", "a.js", "b.js"], function(someModule) {
    // do something
});

它有一個要求就是你的前端js是作為模塊式的開發(fā), 在前端邏輯比較復(fù)雜的話, 使用模塊式來進行前端開發(fā)應(yīng)該是種不錯的選擇, 而關(guān)于JS的模塊式開發(fā)在今后文章再專門談, 這里只簡單介紹一下, 如果對這個方面感興趣的可以到requireJs官網(wǎng)去看看.

相關(guān)文章

  • JavaScript數(shù)組和循環(huán)詳解

    JavaScript數(shù)組和循環(huán)詳解

    這篇文章主要介紹了JavaScript數(shù)組和循環(huán)詳解,本文講解了循環(huán)遍歷數(shù)組、按順序存儲和訪問值、以相反的順序存儲和訪問值、在數(shù)組中搜索等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • js實現(xiàn)敏感詞過濾算法及實現(xiàn)邏輯

    js實現(xiàn)敏感詞過濾算法及實現(xiàn)邏輯

    這篇文章主要介紹了js實現(xiàn)敏感詞過濾算法及實現(xiàn)邏輯,文中介紹了dfa算法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 基于JS實現(xiàn)table導(dǎo)出Excel并保留樣式

    基于JS實現(xiàn)table導(dǎo)出Excel并保留樣式

    這篇文章主要介紹了基于JS實現(xiàn)table導(dǎo)出Excel并保留樣式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • layui點擊左側(cè)導(dǎo)航欄,實現(xiàn)不刷新整個頁面,只刷新局部的方法

    layui點擊左側(cè)導(dǎo)航欄,實現(xiàn)不刷新整個頁面,只刷新局部的方法

    今天小編就為大家分享一篇layui點擊左側(cè)導(dǎo)航欄,實現(xiàn)不刷新整個頁面,只刷新局部的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 如何開發(fā)出更好的JavaScript模塊

    如何開發(fā)出更好的JavaScript模塊

    給大家分享一下如何才能開發(fā)出更好的JavaScript模塊和功能,有興趣的朋友參考學習下吧。
    2017-12-12
  • JS獲取并處理php數(shù)組的方法實例分析

    JS獲取并處理php數(shù)組的方法實例分析

    這篇文章主要介紹了JS獲取并處理php數(shù)組的方法,結(jié)合實例形式分析了php針對數(shù)組的創(chuàng)建、轉(zhuǎn)換以及js處理數(shù)組的接收、遍歷、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2018-09-09
  • js傳參數(shù)受特殊字符影響錯誤的解決方法

    js傳參數(shù)受特殊字符影響錯誤的解決方法

    js傳參數(shù)受特殊字符影響錯誤,如果不做處理,會產(chǎn)品傳參錯誤,encodeURI 方法返回一個編碼的URI,可以有效解決此問題,感興趣的朋友可以參考下
    2013-10-10
  • javascript中if和switch,==和===詳解

    javascript中if和switch,==和===詳解

    這篇文章主要給大家詳細介紹了javascript中if和switch,==和===的區(qū)別和聯(lián)系,十分的細致實用,有需要的小伙伴可以參考下。
    2015-07-07
  • NodeJS與Mysql的交互示例代碼

    NodeJS與Mysql的交互示例代碼

    實現(xiàn)NodeJS與Mysql的交互首先把Mysql Module裝到NodeJS中,具體實現(xiàn)及結(jié)果截圖如下,有此需求的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • electron-builder 的基本使用及electron打包步驟

    electron-builder 的基本使用及electron打包步驟

    electron-builder 作為一個用于 Electron 應(yīng)用程序打包的工具,需要下載并使用 Electron 運行時來創(chuàng)建可執(zhí)行文件,這篇文章主要介紹了electron-builder 的基本使用,需要的朋友可以參考下
    2023-12-12

最新評論