Javascript 如何在JS命名空间中的构造函数中使用JQuery?
好的,昨天我问了这个问题,但是我的代码中有一个愚蠢的错误,所以我最终得到了错误问题的答案 我想在javascript构造函数中使用JQuery,它位于名称空间中:Javascript 如何在JS命名空间中的构造函数中使用JQuery?,javascript,jquery,namespaces,Javascript,Jquery,Namespaces,好的,昨天我问了这个问题,但是我的代码中有一个愚蠢的错误,所以我最终得到了错误问题的答案 我想在javascript构造函数中使用JQuery,它位于名称空间中: var NS=NS||{}; NS.constructor=function() { this.problem="doing my head in" this.solution="looking very messy" function useJQuery() { $(documen
var NS=NS||{};
NS.constructor=function()
{
this.problem="doing my head in"
this.solution="looking very messy"
function useJQuery()
{
$(document).ready
(
function()
{
$('body').html("I've written out the whole 'document ready function thing");
}
)
}
function usePlainJS()
{
return "Now I'm using plain JS";
}
function useJQueryAgain()
{
$(document).ready
(
function()
{
$('body').html("Now I've written out the 'document ready' thing AGAIN!");
}
)
}
}
有没有更好的方法来做到这一点,而不是每次我想使用JQuery时都写出整个“文档准备就绪”的内容?方法一。您可以避免重复的
$(文档)。如果将函数调用本身包装到$(functionName)
中,则ready
块。例如:
var NS = NS || {};
NS.constructor = function() {
this.problem = "doing my head in"
this.solution = "looking very messy"
// Here is an example of usage this function
$(useJQuery);
function useJQuery() {
$('body').html("I've written out the whole 'document ready function thing");
}
function usePlainJS() {
return "Now I'm using plain JS";
}
function useJQueryAgain() {
$('body').html("Now I've written out the 'document ready' thing AGAIN!");
}
};
方法二。在关闭
标记之前,将所有代码放在DOM其余内容之后。这样,您就不必担心文档准备就绪,因为在执行脚本时,HTML结构已经可用。这些函数的用途是什么?这似乎是最麻烦的事情:|最简单的解决方案:在正文
末尾包含所有代码,并且不再担心document.ready
。或者,初始化文档中的所有名称空间内容。ready
@user2864740-这些函数的目的是向您演示我的问题。@DanLuba代码毫无意义,特别是因为它没有显示用法。这就是为什么我要求a/的目的(目前尚未演示)。@FelixKling-我尝试初始化文档中的名称空间内容。就绪,但由于范围问题,我的变量返回为未定义。啊-我现在明白了。谢谢费利克斯克林就是这么说的。是的,这很有道理。你上面写的代码看起来比我的好得多——不过,我不知道它到底在做什么。有没有可能让我看一下?$(functionName)
与$(document.ready(functionName)
相同。这与functionName(){$(document).ready(function(){…}}}
时的functionName()
相同。这有意义吗?几乎有意义。。。我不明白的是代码$(useJQuery)
实际上在做什么。它没有调用函数,因为它没有()
。调用并从内存中提取useJQuery()
函数时,$(useJQuery)
(在函数调用中似乎被绕过)如何影响useJQuery函数的执行?如果将函数传递到$()
,则会发生以下情况:呸。。。我已经学习javascript和JQuery大约两周了,这些代码对我来说有点难理解。。。我会弄明白的。谢谢你的帮助,伙计。我会把这个标记为已回答,因为我有我一直在寻找的“如何”,即使我还没有理解“为什么”。