为什么浏览器会卡在这个javascript循环中?

为什么浏览器会卡在这个javascript循环中?,javascript,jquery,Javascript,Jquery,我看不出为什么浏览器挂起并在这个函数的第一个for循环中被捕获,arguments.length也不打印console.log 下面是传递colorpicker自己id的click函数,然后是要更改的其他属性变量: $('#colorSelector3').click(function(){ colorPickDynamic('#colorSelector3','h1','color'); }); 以下是浏览器挂起在第一个for循环中的函数: function colorPickDynamic

我看不出为什么浏览器挂起并在这个函数的第一个for循环中被捕获,arguments.length也不打印console.log

下面是传递colorpicker自己id的click函数,然后是要更改的其他属性变量:

$('#colorSelector3').click(function(){
colorPickDynamic('#colorSelector3','h1','color');
});
以下是浏览器挂起在第一个for循环中的函数:

function colorPickDynamic(cp){
    var i,
        j,
        x,
        tag = [],
        colorProperty = [];

    for (x=0, i = 1, j = 2; x <= arguments.length; i+=2, j+=2, x++) {

        tag[x]=arguments[i];
        colorProperty[x]=arguments[j];

        console.log(arguments.length);
        console.log(colorProperty[x]);
    }

    $(cp).ColorPicker({
        color: '#0000ff',
        onShow: function (colpkr) {
            $(colpkr).fadeIn(500);
            return false;
        },
        onHide: function (colpkr) {
            $(colpkr).fadeOut(500);
            return false;
        },
        onChange: function (hsb, hex, rgb) {
            for (j = 2; j < arguments.length; j+=1) {
                $(tag[0]).css(colorProperty[0], '#' + hex);
            }
            $(cp + ' div').css('backgroundColor', '#' + hex);
        }
    });
}
函数colorPickDynamic(cp){
var i,
J
x,,
标记=[],
colorProperty=[];
对于(x=0,i=1,j=2;x您确定它挂起(例如无限循环)?而不仅仅是简单的崩溃

因为您正在访问
参数[i]
,其中参数从1开始,每次迭代递增2。如果参数包含零或一个元素,它将在第一次迭代时崩溃,尝试在任何日志记录完成之前访问
参数[1]

您是否打算访问
参数[x]

是否确定它挂起(例如无限循环)?而不仅仅是普通崩溃

因为您正在访问
参数[i]
,其中参数从1开始,每次迭代递增2。如果参数包含零或一个元素,它将在第一次迭代时崩溃,尝试在任何日志记录完成之前访问
参数[1]


您是否打算访问
参数[x]

在jsfiddle.net plz上显示演示在“循环”消失之前,您可以从中删除多少代码?您可能希望在脚本调试器的第一个循环“体”中放置一个断点,以便您可以看到“内部发生了什么”…在jsfiddle.net plz上显示演示在“循环”消失之前,您可以从中删除多少代码?您可能希望在脚本调试器的第一个循环“正文”中放置一个断点,以便您可以看到“内部发生了什么”…是的,即使更改了(colorProperty[x]的console.log);上升到200000以上,然后chrome崩溃?@Joe:调用您的
colorPickDynamic
的情况如何?参数的值是多少。长度
?很抱歉,在deestans检查后,我看到它使用了旧的缓存.js文件,我希望循环已解决!是的,即使更改了(colorProperty[x]的console.log);上升到200000以上,然后chrome崩溃?@Joe:你的
colorPickDynamic
调用得怎么样了?参数的值是多少。长度
?很抱歉,在deestans检查后,我看到它使用了旧的缓存.js文件,我希望循环解决了!