如下列示例代碼:
我本意,是想封裝一個(gè)頁(yè)面的對(duì)象,對(duì)外提供一個(gè)getWidgetLength()
的公共方法,打印控件數(shù)量。
但是在閉包當(dāng)中,竟然沒(méi)辦法獲取數(shù)組.length的值,跪求各位大神指教!
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var PageObj = (function(){ //私有屬性:頁(yè)面的控件名集合 var widgetNames; //一開(kāi)始沒(méi)有實(shí)例化 function initPage(){ //調(diào)用公共的Util包,它給我返回的,竟然是一個(gè)Map (- -!!! //widgetNames = WidgetUtil.getAllWidget(); widgetName = {"001":"loginName","002":"loginPwd","003":"loginCode","004":"loginBtn","005":"clearBtn"}; }return { //公共方法:打印頁(yè)面控件的數(shù)量 widgetLength : function(){ try{ //求解:widgetName不能使用length、shift()、slice()等屬性/方法, console.info(widgetNames.length); }catch(e){ console.error(e); } } } })();PageObj.widgetLength();//調(diào)用 </script> </body> </html>
補(bǔ)充說(shuō)明:
非常抱歉,示例確實(shí)存在代碼拼寫(xiě)錯(cuò)誤:應(yīng)該是console.info()
經(jīng)過(guò)檢查項(xiàng)目代碼發(fā)現(xiàn),我遇到的實(shí)際問(wèn)題是: Object對(duì)象的length如何獲??? (大神們,你們有沒(méi)有封裝獲取對(duì)象length的通用方法?不管Array、Object都能得到他的item數(shù)量)