摘要:有個挫一點的方法寫個,根據目前要跳到哪個頁面,來判斷執行哪個這種方法是,就是維護起來不方便,以后每添一個新頁面都要來維護這個。
這個需求是在我搭建前端項目框架的時候遇到的:
由于我走的是前后端完全分離的路線,那前端部分少了后端的支持,所以就少不了要做點路由、分發之類的工作,而在用路由跳轉到新的“頁面”后,我需要執行相應的function來獲取第一版的數據。有個挫一點的方法:寫個switch,根據目前要跳到哪個頁面,來判斷執行哪個function;這種方法work是work,就是維護起來不方便,以后每添一個新“頁面”都要來維護這個switch。
PHP有個很不錯的動態機制:
用這個動態機制來做路由非常方便,因此在做前端框架的路由的時候,我就想著會不會有類似的解決方案呢?
答案是有的,利用JS的eval函數(PHP也有同名函數),就可以通過拼字符串來執行JS代碼了,下面是例子:
function test() { alert(111); }; var functionName ="test"; if(typeof(window[functionName]) === "function") { eval(functionName + "()"); }值得注意的是判斷字符串對應的function是否存在(對于一個框架來說會靈活得多,比如說:不是每一個頁面都需要獲取第一版數據),我試過用jquery的$.isFunction和原生typeof方法與eval函數配合,都無法識別到對應的function,最后還是靠window[functionName]獲取到function對應的變量,這樣才能進行判斷。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91571.html
摘要:生成終極匹配器主要是返回一個匿名函數,在這個函數中,利用方法生成的匹配器,去驗證種子集合,篩選出符合條件的集合。在這個終極匹配器中,會將獲取到的種子元素集合與匹配器進行比對,篩選出符合條件的元素。 讀Sizzle的源碼,分析的Sizzle版本號是2.3.3。 Sizzle的Github主頁 瀏覽器原生支持的元素查詢方法: 方法名 方法描述 兼容性描述 getElementBy...
摘要:基礎知識字符串中常用的方法在中用單雙引號包裹起來的都是字符串字符串就是由到多個字符組成的特點一以數字作為索引,從零開始特點二有屬性,存儲的是當前字符串中字符的個數字符長度如果指定的索引不存在獲取的結果是真實項目中,我們經常操作字符串,此時 js基礎知識 JavaScript 字符串中常用的方法 在JS中用單(雙)引號包裹起來的都是字符串 var str=welcome to my ho...
閱讀 1037·2023-04-25 17:51
閱讀 2852·2021-11-23 09:51
閱讀 1470·2021-11-08 13:21
閱讀 2428·2021-09-22 15:14
閱讀 1515·2019-08-30 12:48
閱讀 1076·2019-08-29 12:44
閱讀 1138·2019-08-26 12:21
閱讀 1396·2019-08-26 10:47