jQuery 1.5添加了"Deferred Objects".他们是什么,他们究竟做了什么?
var s = "overpopulation";
var ar = [];
ar = s.split();
alert(ar);
Run Code Online (Sandbox Code Playgroud)
我想将string.split一个单词转换为字符数组.
上面的代码似乎不起作用 - 它将"overpopulation"作为Object返回..
如果原始字符串不包含逗号和空格,我如何将其拆分为字符数组?
我有两个抽象的进程(例如在js对象中使用不暴露其内部的显示模块模式进行管理),它们在完成后触发自定义事件.我想在两个自定义事件都被触发时执行操作.
jQuery 1.5中新的Deferred逻辑似乎是理想的管理方式,除了when()方法接受返回promise()的deferred对象(或者正常的js对象,但是当()立即完成而不是等等,这对我来说毫无用处).
理想情况下,我想做的事情如下:
//execute when both customevent1 and customevent2 have been fired
$.when('customevent1 customevent2').done(function(){
//do something
});
Run Code Online (Sandbox Code Playgroud)
将这两种技术结合起来的最佳方法是什么?
我们都知道将字符串传递给setTimeout(或setInterval)是邪恶的,因为它在全局范围内运行,有性能问题,如果你注入任何参数等可能是不安全的.所以这样做肯定是不赞成的:
setTimeout('doSomething(someVar)', 10000);
Run Code Online (Sandbox Code Playgroud)
赞成这个:
setTimeout(function() {
doSomething(someVar);
}, 10000);
Run Code Online (Sandbox Code Playgroud)
我的问题是:有没有理由去做前者?它是有史以来最好?如果不是,为什么甚至允许?
我想到的唯一场景是想要使用存在于全局范围中但在本地范围内被覆盖的函数或变量.这听起来像是糟糕的代码设计,但是......
这可能是一个愚蠢的问题,但我无法在互联网上找到任何关于此的文件.
当声明变量在Javascript中使用我通常使用var x = 0但我在他们使用的jQuery教程中看到过$x = 0.那两个有什么区别?
此外,我会以同样的方式调用这两个变量,还是我之前需要使用$ mark?例如:for(i=0; i < x; i++)或for(i=0; i < $x; i++)
我的脚本加载后,我正在发出Ajax请求以获得一些翻译.这应该总是在文档准备好后返回,因为我在页面底部加载我的脚本,但我仍然很好奇是否可以在文档就绪状态下获得延迟对象.
这样就可以确保文档准备就绪并且Ajax调用在执行任何其他操作之前成功返回,例如:
$.when( $.ajax('translations'), document.ready())
.then(function(){
// Start doing stuff here
});
Run Code Online (Sandbox Code Playgroud) 是否有比转换MySql数据库的纯文本CREATE TABLE和INSERT语句更好(更快或更小)的内容?对于大量数据来说,这似乎非常低效.
我意识到可以复制底层数据库文件,但我认为它们只能在它们来自的相同版本的MySql中工作.
有没有一个我不知道的工具,或者这种缺乏的原因?
我有一个页面,使用被称为100次的jQuery .ajax(async:true),问题是,当它们全部被加载时,我需要系统在继续之前等待所有100个调用返回.我该怎么做?
提前致谢!:)
更新:
这些调用是在for()循环中进行的(其中有100个:))
我用:
var jqXHR = $.ajax(settings);
jqXHR.success(function(result){});
jqXHR.error(function(result){});
jqXHR.complete(function(result){});
Run Code Online (Sandbox Code Playgroud)
但是版本1.5添加了延迟对象.
问:一般来说,你什么时候使用成功,错误和完整的方法与新的延迟,完成和失败的热度?
jquery ×6
javascript ×5
ajax ×2
dump ×1
jquery-1.5 ×1
memory ×1
mysql ×1
node.js ×1
settimeout ×1
string ×1