zoukankan      html  css  js  c++  java
  • JavaScript(网易版)全解析

    /*
     * NetEase Javascript Library v1.2.5
     * 网易Javascript书屋 v1.2.5
     * Modified from
     * 按照[jRaiser Javascript Library]修改
     *		jraiser的地址:http://code.google.com/p/jraiser/
     *		Copyright 2008-2010 Heero.Luo (http://heeroluo.net/)
     *      著作权 2008-2010 Heero.Luo(貌似是“希罗”的意思,Heero是高达系列某人名字的一部分)然后是他的个人主页
     *      这个js文件是我从网易游戏美女频道主页得到的,得到时貌似这位罗先生已经来开网易一段时间了,网易还在思念这位老兄?个人主页都不删除。
     * licensed under MIT license
     * 得到MIT许可证(MIT麻省理工大学缩写)
     * Creation date: 2008/2/6
     * 创建时间:2008/2/6
     * Modified date: 2010/8/4
     * 修改时间:2010/8/4
     *
     * 接下来开始一步一步解析这个js文件
     * 讲解:刘建
     * 毕业院校:家里蹲大学低能班
     */
     
    (function(R,f)
    		  {var b="1.2.5 Build 201008041550",_="NTES";
    		  //这个变量b保存的是创建时间,NTES:网易在纳斯达克的名字,属于广告性东西
    		  if(R[_]&&R[_].version>=b)return;
    		  var A=R.$,c=R.document,T=R[_]=R.$=function($,_)
    		  //这句把R的一些变量赋值给字母,应该是简化的作用
    		  {
    			  if(!$)return $;
    		  "string"===typeof $&&($=L($,_));return M($)};
    		  //如果$的类型是字符串
    		  T.one=function($,_){return M(L($,_,1))};
    		  T.all=function($,_){return M(L($,_,0))};
    		  function L(_,B,$){var A=s.exec(_,B||c);if($!==f)
    		  if(A)
    		  {
    			  var C=T.util.isArray(A);
    			  if(1===$&&C)return A[0];
    		  else if(0===$&&!C)return[A]}
    		  else if(0===$)return[];return A}
    		  function M(A){if(A&&!A[_])
    		  if(A.nodeType){if("unknown"!==typeof A.getAttribute)
    		  for(var $ in T.element)f===A[$]&&(A[$]=T.element[$])}
    		  else A=T.util.extend(T.util.toArray(A),T.element);return A
    		  }
    		  T.version=b;T.resume=function(){A=R.$;R.$=R[_]=T;return T};T.retire=function(){R.$=A;return A};
    		  var O=c.createElement("div");O.innerHTML="<p class='TEST'></p>";
    		  var s={SPACE:/\s*([\s>~+,])\s*/g,ISSIMPLE:/^#?[\w\u00c0-\uFFFF_-]+$/,IMPLIEDALL:/([>\s~\+,]|^)([#\.\[:])/g,ATTRVALUES:/=(["'])([^'"]*)\1]/g,ATTR:/\[\s*([\w\u00c0-\uFFFF_-]+)\s*(?:(\S?\=)\s*(.*?))?\s*\]/g,PSEUDOSEQ:/\(([^\(\)]*)\)$/g,BEGINIDAPART:/^(?:\*#([\w\u00c0-\uFFFF_-]+))/,STANDARD:/^[>\s~\+:]/,STREAM:/[#\.>\s\[\]:~\+]+|[^#\.>\s\[\]:~\+]+/g,ISINT:/^\d+$/,enableQuerySelector:O.querySelectorAll&&O.querySelectorAll(".TEST").length>0,tempAttrValues:[],tempAttrs:[],idName:_+"UniqueId",id:0,exec:function($,I){var _,G,E,C,B,J,K,F,H,L,D=this;$=$.trim();
    		  if(""===$)return;
    		  if(D.ISSIMPLE.test($))
    		  if(0===$.indexOf("#")&&typeof I.getElementById!=="undefined")return D.getElemById(I,$.substr(1));
    		  else if(typeof I.getElementsByTagName!=="undefined")return T.util.toArray(I.getElementsByTagName($));
    		  if(D.enableQuerySelector&&I.nodeType)
    		  {
    
  • 相关阅读:
    Android高手进阶教程(十八)之---列出Android设备中所有启动的服务,及判断某个服务是否开启!
    Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
    Android 中的拿来主义(编译,反编译,AXMLPrinter2,smali,baksmali)!
    Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
    JavaWeb的三大组件之过滤器
    JavaWeb的三大组件之事件监听组件(Listener)
    CommonUtils工具类
    Java代码生成不重复的32位长的大写字符串
    JNDI和Local
    Web项目里的各种路径
  • 原文地址:https://www.cnblogs.com/laonanren/p/2912782.html
Copyright © 2011-2022 走看看