Js事件绑定时 函数名加括号和不加括号有什么区别

如题所述

加括号代表执行这个方法,不加括号代表把这个函数赋值给某个变量。
..以下来自百度
function al(){
alert("我擦")
}
此时,al代表这个函数的对象,al()就是直接运行了。
var nfun=al;就是让nfun也指向了al,此时nfun()就相当于al()。
那么我们来说下oBtn.onclick
oBtn.onclick也就相当于一个nfun,只不过它附属于oBtn这个标签。
等号是赋值操作如果是对象,就会把对象的指向付给变量。al是对象指向,al()就是执行了函数,它最终是个什么东西,就看函数体返回什么类型,al里就一个alert,没有return任何东西,那么就相当于undefined。所以
oBtn.onclick=undeined了,你执行就没反应。
但是如果al的内部返回的是一个函数比如:
function al(){
alert("我操一次")
return function(){alert("我操两次")}
}
oBtn.onclick=al()就相当于
oBtn.onclick=function(){alert("我操两次")}
温馨提示:内容为网友见解,仅供参考
无其他回答

Js事件绑定时 函数名加括号和不加括号有什么区别
加括号代表执行这个方法,不加括号代表把这个函数赋值给某个变量。..以下来自百度 function al(){ alert("我擦")} 此时,al代表这个函数的对象,al()就是直接运行了。var nfun=al;就是让nfun也指向了al,此时nfun()就相当于al()。那么我们来说下oBtn.onclick oBtn.onclick也就相当于一个nfun...

js绑定事件函数带括号和不带括号执行效果有什么不同
为事件绑定事件函数时不需要带括号,只需要指定函数名。带括号是调用一个函数,将函数的返回值绑定为事件的处理函数。

js点击事件
(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。(3)第一种方法需要括号,第二、三种不需要。onclick="clickHandler()"docum...

js 绑定方法怎么写?
NN4 还接受 interCap(即首字小写,之后的每一个词的首字大写)版本的属性名,但是考虑到跨浏览器的兼容性,所有字母都是小写的名称会更安全一些。当您把一个函数的引用赋值给一个事件属性的时候,就发生了绑定。函数的引用是指函数的名称,但是不带函数定义中的括号。因此,如果要为一个名为myButto...

加不加括号?
二、注明句子出处时,要在标点后面加括号,并且括号后不加标点。比如:亚太经合组织(APEC)是我国积极参加的最重要区域经济合作论坛之一。(《光明日报》1999.1.20)三、对前面的话加以补充,要在括号后面或者句子后面加标点。比如:正在紧张施工的京广铁路武(汉)广(州)段也取得了新的进展。

event对象,事件绑定,事件源,事件委托
event对象是个嘛呀?其实event对象是一种事件的状态,它是事件身上自带的,而这个事件身上被绑定了事件的状态,如键盘的状态,鼠标位置,鼠标点击的状态等。注意,是一种事件状态。为了直观,我先获取一个鼠标点击事件的event,这个event要传入被操作的对象里,所以把event放入到function()的括号里 我们看到...

require和import用法与区别详解
可以看出,使用exportdefault时,import语句不用使用大括号。import()函数 import和export命令只能在模块的顶层,不能在代码块之中。否则会语法报错。 这样的设计,可以提高编译器效率,但是没有办法实现运行时加载。 因为require是运行时加载,所以import命令没有办法代替require的动态加载功能。 所以引入了import()函数。完成...

添加页签、制作学生信息登记表|从0开始学习开发微信小程序第3期_百度...
在我们的js里实际写一下这个函数,和之前写事件不同,这次括号里多了个e,e代表一个事件的对象。。现在调试器都取不出这个值了嘛?控制台不输出了。反正看示例代码,它取出的值就是e.detail.value。取出值我们用setData把值带回来,在data中设置日期初始值为空。编译一下显示空。直接什么都不写就好。修改一个错误,...

请简单描述JqueryMobile页面跳转的事件响应顺序
页面跳转时pagebeforechange事件会被触发两次,通过$(document).bind("pagebeforechange", handleChangePage);来绑定pagebeforechange事件的触发函数handleChangePage(e,data),第一次 触发时data.toPage是到达页面的url,类型是string。第二次触发时data.toPage是e.fn.e.init[1](搞不懂具体 是什么东西)。第二次...

JS 烧脑面试题大赏
js是一门单线程的语言,但是为了执行一些异步任务时不阻塞代码,以及避免等待期间的资源浪费,js存在事件循环的机制,单线程指的是执行js的线程,称作主线程,其他还有一些比如网络请求的线程、定时器的线程,主线程在运行时会产生执行栈,栈中的代码如果调用了异步api的话则会把事件添加到事件队列里,只要该异步任务有了结果...

相似回答