看了两天的源代码,头都晕了,哪位可以帮助看翻译一下下面的代码.function $(el)
{
  if(!el)return null;
  if(el.htmlElement)return Garbage.collect(el);
  if([window,document].contains(el))return el;
  var type=$type(el);
  if(type=='string')
  {
    el=document.getElementById(el);
    type=(el)?'element':false;
  }
  if(type!='element')return null;
  if(el.htmlElement)return Garbage.collect(el);
  if(['object','embed'].contains(el.tagName.toLowerCase()))return el;
  $extend(el,Element.prototype);
  el.htmlElement=function()
  {
  };
  return Garbage.collect(el);
};

解决方案 »

  1.   

    if(!el)return null; //如果el不存在,则返回null
    if(el.htmlElement)return Garbage.collect(el); //如果el.htmlElement不存在,则返回...
    ...
      

  2.   

    function $(el){
    // 如果不存在el,返回null
    if (!el) return null;

    // 如果存在el.htmlElement则返回Garbage.collect(el)执行后的结果
    if (el.htmlElement) return Garbage.collect(el);

    // 如果el是window或document就返回el自身
    if ([window, document].contains(el)) return el;

    // 得到el的类型
    var type = $type(el);
    if (type == 'string') {
    // 根据el查找页面元素,并赋值给el
    el = document.getElementById(el);

    // 如果el存在type='element',否则type=false
    type = (el) ? 'element' : false;
    }
    if (type != 'element') return null;

    // 如果存在el.htmlElement则返回Garbage.collect(el)执行后的结果
    if (el.htmlElement) return Garbage.collect(el);

    // 如果el的tag为object或embed则返回el
    if (['object', 'embed'].contains(el.tagName.toLowerCase())) return el;

    // 将Element.prototype的属性、方法复制给el
    $extend(el, Element.prototype);

    el.htmlElement = function(){};
    return Garbage.collect(el);
    };