首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >this.show和this.show()函数调用的区别?

this.show和this.show()函数调用的区别?
EN

Stack Overflow用户
提问于 2013-08-18 13:29:56
回答 2查看 113关注 0票数 1
代码语言:javascript
复制
$(document).ready(function(){       
        $('html').addClass('js');
        var contactForm = {
            init: function(){
                $('<button></button>',{
                    text: 'contact me'
                }).appendTo('article')
                **.on('click', this.show);**
            }, 

            show: function(){
                console.log('show is clicked');
            }
        }

        contactForm.init();
    });

在onClick调用中,为什么.on('click', this.show());会在.on('click', this.show());加载时立即执行,而稍后的get只在单击按钮时执行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-18 13:31:08

末尾的括号意味着应该立即调用前面的函数。如果没有括号,它将成为对函数的引用。

因此,on('click', this.show());将意味着在设置click处理程序时在加载时调用show函数,并将其返回值设置为事件处理程序。

其中,on('click', this.show);为单击处理程序提供了对show函数的引用,当click事件发生时将调用该函数。

最佳实践是只将函数的引用传递给事件处理程序--即。后一个例子。

票数 4
EN

Stack Overflow用户

发布于 2013-08-18 13:32:52

‘'on()’是一个函数(在本例中)有两个参数。

this.show向名为show的函数传递一个引用。

this.show()调用函数并传递返回值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18299604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档