相关疑难解决方法(0)

为什么我不能在jQuery的document.ready()中定义函数?

如果我将它们放在document.ready()函数中,函数将显示为undefined:

$(document).ready(function(){
  function foo()
  {
    alert('Bar');
  }
});

foo(); // Undefined
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我确定我只是需要一些简单的理解:)

javascript jquery

62
推荐指数
3
解决办法
5万
查看次数

在JavaScript中定义本地函数:使用var还是不使用var?

在JavaScript中声明本地(内部)函数时,有两个选项:

使用var关键字声明,分配给变量:

(function() {
    var innerFunction1 = function() { ... };
    innerFunction1();
}());
Run Code Online (Sandbox Code Playgroud)

仅使用function关键字声明,而不指定给变量:

(function() {
    function innerFunction2() { ... };
    innerFunction2();
}());
Run Code Online (Sandbox Code Playgroud)

我可以看到第二个的一个优点:函数可以在调用它的代码下面声明,因此更容易将私有函数与实际执行的代码分开.

哪个更好,为什么

javascript closures declaration function

59
推荐指数
2
解决办法
3万
查看次数

jquery - $(document).ready()里面的范围?

所以为了保持井井有条,我有几个javascript文件,即使它们全部(最终)被缩小在一起形成一个最终的javascript文件.

每个文件的内容都包含在:

$(document).ready(function(){
    //some javascript here
});
Run Code Online (Sandbox Code Playgroud)

好像我把东西放在单独的文件中(在那些代码之间),它们彼此无法访问.这是范围问题吗?我能做什么?

例如,在一个文件中,我有一堆代码来根据通过ajax接收的数据创建表.但是,该文件的一半只是模板,用于显示数据,具体取决于它的类型等.我想将模板放在他们自己的文件中.

我知道这只是一个"偏好"问题,我可以把它全部放在一个文件中.

但我希望从中学到这一点,甚至可以让它成为"我的"方式.

jquery scope

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

jquery ×2

closures ×1

declaration ×1

function ×1

scope ×1