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

在网上看到这样一个函数,能给简单的介绍一下吗?

在网上看到这样一个函数,能给简单的介绍一下吗?

成长前端初学者 2018-02-24 17:27:16
function getEvent() { return window.event || arguments.callee.caller.arguments[0]; } 
查看完整描述

2 回答

?
QQ_随意

TA贡献51条经验 获得超28个赞

callee
当函数被调用时,它的arguments.callee对象就会指向自身,也就是一个对自己的引用。
由于arguments在函数被调用时才有效,因此arguments.callee在函数未调用时是不存在的(即null.callee),且解引用它会产生异常。
<script>  
function aCallee(arg) {  
  alert(arguments.callee);  
}  
  
function aCaller(arg1, arg2) {aCallee();}  
  
aCaller();  
</script>

caller
在一个函数调用另一个函数时,被调用函数会自动生成一个caller属性,指向调用它的函数对象。如果该函数当前未被调用,或并非被其他函数调用,则caller为null。

<script>  
function testCaller() {  
    var caller = testCaller.caller;  
    alert(caller);  
}  
  
function aCaller() {  
    testCaller();  
}  
  
aCaller();


查看完整回答
1 反对 回复 2018-02-28
  • QQ_随意
    QQ_随意
    getEvent() 如果事件對象存在就返回事件對象,如果事件對象不存在就返回調用了getEvent()的函數對象的第一個實參 function(a,b,c,d){ var e = getEvent(); //如果window.enver存在e就等於window.enver,否則e就等於參數a }
?
_遥不可及_

TA贡献26条经验 获得超6个赞

是JS 代码么?可以贴全么?

查看完整回答
反对 回复 2018-02-25
  • 成长前端初学者
    成长前端初学者
    是js代码,没法全贴,太多了这个是鼠标拖拽时候的事件,能否给讲一下,谢谢
  • 2 回答
  • 0 关注
  • 1109 浏览
慕课专栏
更多

添加回答

举报

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