国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS根據(jù)動態(tài)生成的字符串,驗證是否存在對應(yīng)function并執(zhí)行

CollinPeng / 1963人閱讀

摘要:有個挫一點的方法寫個,根據(jù)目前要跳到哪個頁面,來判斷執(zhí)行哪個這種方法是,就是維護起來不方便,以后每添一個新頁面都要來維護這個。

這個需求是在我搭建前端項目框架的時候遇到的:

由于我走的是前后端完全分離的路線,那前端部分少了后端的支持,所以就少不了要做點路由、分發(fā)之類的工作,而在用路由跳轉(zhuǎn)到新的“頁面”后,我需要執(zhí)行相應(yīng)的function來獲取第一版的數(shù)據(jù)。有個挫一點的方法:寫個switch,根據(jù)目前要跳到哪個頁面,來判斷執(zhí)行哪個function;這種方法work是work,就是維護起來不方便,以后每添一個新“頁面”都要來維護這個switch。

PHP有個很不錯的動態(tài)機制:


用這個動態(tài)機制來做路由非常方便,因此在做前端框架的路由的時候,我就想著會不會有類似的解決方案呢?

答案是有的,利用JS的eval函數(shù)(PHP也有同名函數(shù)),就可以通過拼字符串來執(zhí)行JS代碼了,下面是例子:

function test() {
    alert(111);
};

var functionName ="test";

if(typeof(window[functionName]) === "function") {
    eval(functionName + "()");
}

值得注意的是判斷字符串對應(yīng)的function是否存在(對于一個框架來說會靈活得多,比如說:不是每一個頁面都需要獲取第一版數(shù)據(jù)),我試過用jquery的$.isFunction和原生typeof方法與eval函數(shù)配合,都無法識別到對應(yīng)的function,最后還是靠window[functionName]獲取到function對應(yīng)的變量,這樣才能進行判斷。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/91571.html

相關(guān)文章

  • 前端知識點(一)

    摘要:為了解決協(xié)議的這一缺陷,需要使用另一種協(xié)議安全套接字層超文本傳輸協(xié)議,為了數(shù)據(jù)傳輸?shù)陌踩?,在的基礎(chǔ)上加入了協(xié)議,依靠證書來驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。是超文本傳輸協(xié)議,信息是明文傳輸,則是具有安全性的加密傳輸協(xié)議。 1、請說說從用戶輸入url到呈現(xiàn)網(wǎng)頁,這中間都發(fā)生了什么 ? 1、域名解析 域名解析的過程:    1).查詢?yōu)g覽器自身DNS緩存 ...

    tinylcy 評論0 收藏0
  • 前端知識點(一)

    摘要:為了解決協(xié)議的這一缺陷,需要使用另一種協(xié)議安全套接字層超文本傳輸協(xié)議,為了數(shù)據(jù)傳輸?shù)陌踩?,在的基礎(chǔ)上加入了協(xié)議,依靠證書來驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。是超文本傳輸協(xié)議,信息是明文傳輸,則是具有安全性的加密傳輸協(xié)議。 1、請說說從用戶輸入url到呈現(xiàn)網(wǎng)頁,這中間都發(fā)生了什么 ? 1、域名解析 域名解析的過程:    1).查詢?yōu)g覽器自身DNS緩存 ...

    defcon 評論0 收藏0
  • 前端知識點(一)

    摘要:為了解決協(xié)議的這一缺陷,需要使用另一種協(xié)議安全套接字層超文本傳輸協(xié)議,為了數(shù)據(jù)傳輸?shù)陌踩?,在的基礎(chǔ)上加入了協(xié)議,依靠證書來驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。是超文本傳輸協(xié)議,信息是明文傳輸,則是具有安全性的加密傳輸協(xié)議。 1、請說說從用戶輸入url到呈現(xiàn)網(wǎng)頁,這中間都發(fā)生了什么 ? 1、域名解析 域名解析的過程:    1).查詢?yōu)g覽器自身DNS緩存 ...

    iliyaku 評論0 收藏0
  • jQuery中選擇器引擎Sizzle

    摘要:生成終極匹配器主要是返回一個匿名函數(shù),在這個函數(shù)中,利用方法生成的匹配器,去驗證種子集合,篩選出符合條件的集合。在這個終極匹配器中,會將獲取到的種子元素集合與匹配器進行比對,篩選出符合條件的元素。 讀Sizzle的源碼,分析的Sizzle版本號是2.3.3。 Sizzle的Github主頁 瀏覽器原生支持的元素查詢方法: 方法名 方法描述 兼容性描述 getElementBy...

    elisa.yang 評論0 收藏0
  • JS基礎(chǔ)知識學(xué)習(xí)(三)

    摘要:基礎(chǔ)知識字符串中常用的方法在中用單雙引號包裹起來的都是字符串字符串就是由到多個字符組成的特點一以數(shù)字作為索引,從零開始特點二有屬性,存儲的是當前字符串中字符的個數(shù)字符長度如果指定的索引不存在獲取的結(jié)果是真實項目中,我們經(jīng)常操作字符串,此時 js基礎(chǔ)知識 JavaScript 字符串中常用的方法 在JS中用單(雙)引號包裹起來的都是字符串 var str=welcome to my ho...

    keke 評論0 收藏0

發(fā)表評論

0條評論

CollinPeng

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<