小编Jas*_*son的帖子

Javascript命名空间帮助

我有一个非常大的Javascript脚本,里面有大量的全局变量和函数.然后是一段从这个js文件中调用一个函数的代码:myfunc();

好的,现在我克隆了这个脚本并修改了一些功能,所有函数原型和变量在两个脚本中都被命名为相同.所以现在我加载了两个脚本,并且一次调用myfunc(),现在我们有一个冲突,因为有大量具有相同名称的全局变量和两个myfunc().

我想要做的是将这个克隆的脚本包装在命名空间中,这样我就可以将原始调用修改为:clone.myfunc(),它将调用新函数,但我也希望myfunc()只引用原始脚本.换句话说,我无法触及原始脚本(没有权限),我希望能够在运行时使用克隆和原始脚本.

这是我克隆的脚本:http://pastebin.com/6KR5T3Ah

Javascript命名空间似乎相当棘手,这似乎是一个很好的命名空间方法:

var namespace = {
    foo: function() {
    }

    bar: function() {
    }
}

...

namespace.foo();
}
Run Code Online (Sandbox Code Playgroud)

然而,这需要使用一个对象,并且脚本(如上所述)在接近4000行时非常庞大,我认为太过于客观化了?

任何人都知道更好的解决方案,以避免命名空间污染,一个脚本我无法触摸,一个是该脚本的克隆.这样我就可以调用myfunc()和clone.myfunc(),并且所有全局变量都将在其受尊重的范围内运行.

它或者是,或者我通过并修改所有具有唯一名称的内容,这可能需要一生

如果它有助于上下文,那么这是一个Mozilla插件.

谢谢.

javascript

2
推荐指数
1
解决办法
627
查看次数

Javascript对象 - '静态初始化'

我正在将一些Java代码转换为Javascript,Java对象有一个静态初始化块,用于填充对象中的两个数组.我的理解是,无论创建多少个对象,此初始化程序只运行一次.我可以在Javascript中做这样的事情吗?

Java代码:

    public final class MyObject {

        private MyObject() { }

        // ...

    static {
             // Run once static init code here
    }

}
Run Code Online (Sandbox Code Playgroud)

这个run-once样式初始化可以在Javascript中完成吗?

谢谢

javascript

2
推荐指数
2
解决办法
3684
查看次数

从表中选择n个最大值

如何根据列"得分"选择表格中最大的100行?

我可以在"得分"栏中找到最高分:

SELECT max(score) FROM mTable
Run Code Online (Sandbox Code Playgroud)

然后获取该行:

SELECT * FROM mTable WHERE score=largestScore
Run Code Online (Sandbox Code Playgroud)

但是我如何将其包装起来并获得以下99个较低得分的行?

谢谢.

mysql sql

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

标签 统计

javascript ×2

mysql ×1

sql ×1