当前位置:  开发笔记 > 编程语言 > 正文

在jquery ready函数中声明函数的最佳实践

如何解决《在jqueryready函数中声明函数的最佳实践》经验,为你挑选了3个好方法。

我没有找到一个很好的参考来声明我自己的功能

jquery.ready(function(){});

我想声明它们,因此它们在就绪闭包的同一范围内.我不想让全局的js命名空间变得混乱,所以我不希望它们在ready闭包之外声明,因为它们只针对里面的代码.

那么如何声明这样的函数......我并不是指一个自定义的jquery扩展方法/函数......只是一个常规的'ol函数,它做了一些微不足道的事情,比如:

function multiple( a, b ){ 
    return a * b; 
}

我想遵循jquery建议和函数声明语法.我可以通过声明一个类似上面的乘法函数来使它工作......但是由于某些原因它看起来不正确所以我想我只需要一些指导.



1> jonstjohn..:

我相信你可以在ready()闭包中声明函数,但是在这里你可以更明确地了解本地作用域:

jQuery.ready(function() {

     var myFunc = function() {

           // do some stuff here

     };

     myFunc();


});


对不起,如果这是一个愚蠢的评论,但这个答案让我感到困惑.函数调用不应该是"myFunc();" 而不是"myFunction();" ?

2> matt b..:

这可能听起来很简单,但你只是......宣布这个功能.Javascript允许函数具有内部函数.

$(document).ready( function() {
   alert("hello! document is ready!");

   function multiply(a, b) {
       return a * b;
   }

   alert("3 times 5 is " + multiply(3, 5));
});



3> Glavić..:

我有一个StartUp函数,我用它打印下面:

function StartUp(runnable)
{
    $(document).ready(runnable.run);
}

var ExternalLinks =
{
    run: function()
    {
        $('a[rel="external"]').bind('click', ExternalLinks.click);
    },
    click: function(event)
    {
        open(this.href);
        return false;
    }
}
StartUp(ExternalLinks);

var ConfirmLinks =
{
    run: function()
    {
        $('a.confirm').bind('click', ConfirmLinks.click);
    },
    click: function(event)
    {
        if (!confirm(this.title)) {
            return false;
        }
    }
}
StartUp(ConfirmLinks);

我的网站是模块化的,所以每个模块都有N个动作,每个动作都有一个.js文件,所以我只需编写函数并用StartUp调用它(... functionName ...)

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有