为了账号安全,请及时绑定邮箱和手机立即绑定

这串代码中的几个问题不太懂,大家给看看什么意思

这串代码中的几个问题不太懂,大家给看看什么意思

阿里斯托亚 2017-07-07 17:07:58
(function(参数){        window.对象=参数(window,document);               })(function(){      var 对象 = {};      return 对象;})第二行的赋值是什么意思,就是"window.对象=参数(window,document);"这行“window.对象”是什么意思是,“参数(window,document)”又是什么意思为什么“参数(window,document)”要被赋值给“window.对象”
查看完整描述

2 回答

已采纳
?
李晓健

TA贡献1036条经验 获得超461个赞

window.对象  是把一个对象暴露到全局,你这个写法应该是有问题的  你的那个 “参数“其实是一个对象,也就是下面return的那个对象。他并不是一个方法,所以上面”参数(window,document)“ 就是不对的,应该会报错。   

查看完整回答
反对 回复 2017-07-07
  • 阿里斯托亚
    阿里斯托亚
    我点错了不是想采纳,还想继续问的。那个代码不是我写的,是我把书上的实例代码复制下来。实例是能正常执行。我给你的不是完整代码,只是将多余的去掉了,有把能替换成中文的地方替换成中文,好看的懂。给你看看完整的: (function(self){ if(window.eg==){ window.eg=self(window,document); } })(function(window,document){ var eg = {}; eg.$=function(id){ return documrnt.getElementById(id); }; eg.meht = function(className){ if(document.getElementsByClassName){ return document.getElementsByClassName(className) } var children = document.getElementsByTagName('*'); var arr = []; for(var i=0;i<children.length;i++){ var child = children[i]; var classNames = child.className.split(' '); for(var j=0;j<className.length;j++){ if(classNames[j]==className){ arr.push(child); break; } } } return arr; } eg.getTop = function(El){ var top = 0; do{ top += El.offsetTop; }while((El = El.offsetParent).nodeName !='BODY'); return top; }; return eg; })
  • 2 回答
  • 0 关注
  • 1637 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信