溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java的主體函數(shù)怎么設置

發(fā)布時間:2022-03-31 09:10:17 來源:億速云 閱讀:165 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“java的主體函數(shù)怎么設置”,在日常操作中,相信很多人在java的主體函數(shù)怎么設置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java的主體函數(shù)怎么設置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

下面是主體控制函數(shù)和一些公用方法。包括 拋異常,打日志。擴展,遍歷。設置方法模型路徑。獲取模型(之前必須設置才可以獲取不然拋異常)判斷(數(shù)據(jù))。

修正

(function(window,undefined){  var_toString = {}.toString,  _is,  _writeScript,  _listUrl,  _scriptMap = {  method_url : {},//method --> url <method : url ><1 : 1 >  url_method : {},//url --> method <url : [method,method] ><1 : n >  visited : {},  writted : {},  wait_write:[]  },  _readyFnx = [],  alfred = function(){//自己單獨使用也可以。象jquery  alfred.ready.apply(window,arguments);  };  //私有函數(shù)開始  _is = function(it,type){//復雜的可以自己進行設置。正則匹配。  returntype.test(_toString.call(it).toLowerCase());  };  _waitReady = function(){  //等結(jié)束。如果結(jié)束了。直接跳出循環(huán)。其實就是利用JS的這個特性。  if(document.readyState != "loaded" &&document.readyState != "complete")  {  vartime = setTimeout(arguments.callee,0);  return;  }  clearTimeout(time);  }  _checkReady = function(){  //處理參數(shù)  for(vari=0;i<arguments.length;i++)  {  _readyFnx.push(arguments[i]);  }  varcallback = _readyFnx.shift();  //支持高級事件的  if(document.addEventListener)  {  document.addEventListener("DOMContentLoaded",function(){  _waitReady();  document.removeEventListener("DOMContentLoaded",arguments.callee,false);  callback.apply(window,_readyFnx);  });  returnthis;  }  //支持事件則用事件處理 IE  if(document.attachEvent)  {  document.attachEvent( "onreadystatechange", function(){  _waitReady();  document.detachEvent( "onreadystatechange",arguments.callee);  callback.apply(window,_readyFnx);  });  returnthis;  }  //不支持的則看不在 iframe 下時候的特殊屬性???nbsp;JSCRIPT MSDN。  if(document.documentElement.doScroll &&window == window.top)  {  try {  document.documentElement.doScroll("left","top");  }  catch(e)  {  setTimeout(arguments.callee, 0);  return;}  callback.apply(window,_readyFnx);  returnthis;  }  };  _listUrl = function(){  varl = _scriptMap.visited,i;  //對我們的URL 進行篩選 。主要防止多次添加訪問過的依賴庫。  for(i inl){  if(!_scriptMap.writted[i])  {  _scriptMap.wait_write.push(i);  }  }  _scriptMap.wait_write.reverse();  _writeScript();  };  _writeScript = function(){  //寫入我們的JS 了。  varhead = document.getElementsByTagName("head").item(0),len = _scriptMap.wait_write.length;  for(vari;_scriptMap.wait_write.length&&(i=_scriptMap.wait_write.shift());) {  varscript = document.createElement("script"),  url = i || "";  script.setAttribute("async",true);//高級瀏覽器支持HTML5特性  script.setAttribute("type","text/javascript");  script.setAttribute("src",url);  head.appendChild(script);  _scriptMap.writted[url] = true;//這里無所謂,只要有這個URL就可以  };  };  alfred.extend = function(){  vardeep = false,  len,  options, name, src, copy, copyIsArray, clone,  target = arguments[0] || {},  i = 1;  len = arguments.length;  if(!len)  {  returnthis;  }  if(alfred.isBoolean(target))  {  deep = arguments[0];  to = arguments[1];  i = 2;  }  if(!(alfred.isObject(target) || alfred.isFunction(target))) {  target = {};  }  if(len = i)  {  target = this;  --i;  }  for(;i<len;i++) {  if((options=arguments[i])!==null)  {  for(name inoptions) {  copy = options[name];  src = target[name];  if(src){throw"Becareful : you are rewrite the "+_handle+"."+name+"!"}  if(copy===target) {continue}  if(deep &&copy; &&(alfred.isObject(copy) || (copyIsArray = alfred.isArray(copy))))  {  if(copyIsArray)  {  copyIsArray = false;  clone = src &&alfred.isArray(src) ? src : [];  }  else {  clone = src &&alfred.isObject(src) ? src : [];  }  target[ name ] = alfred.extend( deep, clone, copy );  }  elseif( copy !== undefined )  {  target[name] = copy;  }  }  }  }  };  alfred.isNumber = function(it){return_is(it,/^[object number]$/)};  alfred.isString = function(it){return_is(it,/^[object string]$/)};  alfred.isFunction = function(it){return_is(it,/^[object function]$/)};  alfred.isObject = function(it){return_is(it,/^[object object]$/)};  alfred.isArray = function(it){return_is(it,/^[object array]$/)};  alfred.isBoolean = function(it){returntypeofit ==='boolean'};  alfred.isDom = function(it){return_is(it,/^[object htmlw+]$/)};  alfred.extend({  author : "alfred",  version : 1.01,  global : window,  doc : window.document,  reset : function(it){alfred.global[it]=alfred;},  log : function()  {  if(window.console &&console.log)  {  returnconsole.log.apply(window,arguments)  }  },  error : function(name,value)  {  throw{"name":name,"message":value};  },  require : function(method)  {  varm2u = _scriptMap.method_url,  u2m = _scriptMap.url_method,  r;  if(!(m2u[method])){throw"Error : you need setMethod first"}  if(!_scriptMap.visited[m2u[method][0]] &&!_scriptMap.writted[m2u[method][0]]) {  //haven't be visited or write  _scriptMap.visited[m2u[method][0]] = true;  //use an beautiful code in here  for(; m2u[method][1].length &&(r=m2u[method][1].shift());)  {  alfred.require(r);  }  _listUrl();  }  },  setMethod : function(url,method,rely)  {  vari, method = alfred.isArray(method)? method:[method],  rely = alfred.isArray(rely)?rely:[rely];  if(url &&!_scriptMap.url_method[url]){  _scriptMap.url_method[url] = method;   for(;method.length&&(i=method.shift());) {  _scriptMap.method_url[i] = {"0" : url, "1" : rely};  }  returnthis;  }  throw"Error : you are setMethod in an old method";  },  ready : function(){  _checkReady.apply(window,arguments);  },  each : function(arg,callback){  for(vari inarg){  if(arg[i])  {  callback.call(arg[i],i);  }  }  returnarg;  }  });  window.alfred = alfred;  })(window)

用的時候先引入這個文件。然后需要類似這樣設置

alfred.setMethod("basic.js",["alfred","alfred.global","alfred.doc","alfred.reset","alfred.log","alfred.isNumber",  "alfred.isFunction","alfred.isArray","alfred.isObject","alfred.isString","alfred.isBoolean",  "alfred.require","alfred.setMethod","alfred.extend"],[]);

這樣設置了以后就可以告訴下面的JS 我已經(jīng)提供了這些方法。隨意alfred.require("alfred.reset"); 就可以把文件拉進頁面注冊好。

頁面內(nèi)是這樣的。

<!DOCTYPE html> <html> <head> <title> </title> </head> <body> <script type="text/javascript" src="base.js"></script> <script type="text/javascript" src="deps.js"></script> <script type="text/javascript"> alfred.reset("$");  $.require("alfred.dom");  $(function(){  vara = $.dom("<div id='test' style='width:200px;height:200px;background:red;'> adf</div>");  $.dom("body").prepend(a);  })  </script> </body> </html>

alfred.reset 是為了方便自己設置方法名字。這樣我們幾乎可以象jquery一樣使用了。

alfred.reset("$");

$.require("alfred.dom");

$.dom("div a span:first-child").append("hello alfred");

就 可以這樣用了。

到此,關(guān)于“java的主體函數(shù)怎么設置”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI