小编Mic*_*nio的帖子

Javascript事件监听器刷新

我有一些我为我的工作继承的javascript.在这个javascript中,我们有一个不断更新的侧栏(每1到10分钟左右).在脚本中,我们从服务器解析并处理AJAX,然后我们调用一个有趣的函数.

function renewClicks(){
    $('.classElem').unbind('click'); 
    $('.classElem2').unbind('click');
    $('.classElem3').unbind('click'); 

    $('.classElem').click(elm1funct); 
    $('.classElem2').clikc(elm2funct);
    $('.classElem3').click(elm3funct);  
}
Run Code Online (Sandbox Code Playgroud)

其中.classElem是一个css类选择器,它附加到添加到页面的每个图像.elmfunct是为处理点击而编写的函数.这将在每次更新时运行(取消授权有效的已添加元素,然后重新添加所有元素).我想知道是否有一种方法可以在DOM中的body元素上附加一个监听器,这样就可以处理添加到页面并继承css类的所有图像元素,因此不会取消注册并重新注册在每次更新时注册.

感谢您提供的任何信息.

html javascript css jquery

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

双循环的复杂性

我试图找出使用Big O表示法的for循环的复杂性.我之前在其他课程中已经完成了这个,但是这个比其他课程更严格,因为它是在实际的算法上.代码如下:

for(cnt = 0, i=1; i<=n; i++) //for any size n
{
    for(j = 1; j <= i; j++)
    {
       cnt++;
    }
}
Run Code Online (Sandbox Code Playgroud)

for(cnt = 0, i=1; i<=n; i*=2) //for any size n
{
    for(j = 1; j <= i; j++)
    {
       cnt++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经到了,第一个循环具有O(n)复杂性,因为它经过n次列表.至于第二个循环,我有点迷失.我相信,对于每个被测试的n,它都会经历一次循环.我(错误地)假设这意味着每次评估循环都是O(n*i).在我的假设中是否有任何我遗漏的东西.我知道cnt ++是恒定的时间.

感谢您在分析中提供的帮助.每个循环都在自己的空间中,它们不在一起.

algorithm discrete-mathematics asymptotic-complexity

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

Javascript闭包返回undefined

我继承了我需要为我的工作更新的代码库.我正在慢慢地学习他们正在尝试使用现有的闭包来完成什么,但是在尝试更新使用此功能的网站的一部分时我遇到了困难.我将给出代码试图完成的基本概述,看看是否有人可以提供帮助.

var TheObject = (function (){
    var veryLargeDependantData = {
        var1: {}, 
        var2: {}, 
        var3: [],
        //Set these variables via functions
        function1: function f1(data){...}, 
        function2: function f2(data){...}, 
        initialize: function initialize() { //set values for var1... var3}
     };

     return {initialize: veryLargeDependentData.initialize};
})().initialize(); 
Run Code Online (Sandbox Code Playgroud)

由于我显然无法在网站上显示生产代码,因此必须这样做.但基本上,VeryLargeDependentData变量是函数的入口.当页面加载时,它调用初始化函数,一切都很愉快.但是现在我需要将它添加到onclick事件和旧页面,而firebug控制台说该变量是未定义的.在其他页面中,我可以毫无问题地使用它.

我的问题是,正在发生什么导致闭包不能成为像这样的可调用命名空间的一部分.我有点像javascript nOOb,所以如果问题听起来有误,我会道歉.

onclick='TheObject.initialize();'
Run Code Online (Sandbox Code Playgroud)

javascript closures web

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