一、判断对象是否存在
//判断对象是否存在,还要判断对象是否有null值
if(!myObj){
var myObj={};
}
//只判断对象是否存在
if(typeof myObj =="undefined"){
var myObj = {};
}
二、js异步编程的四种方法
1、回调函数
function f1(callback){
setTimeout(function () {
// f1的任务代码
callback();
}, 1000);
}
f1(f2);
2、事件监听
function f1(){
setTimeout(function () {
// f1的任务代码
f1.trigger('done');
}, 1000);
}
f1.on('done',f2);
3、发布/订阅
function f1(){
setTimeout(function () {
// f1的任务代码
jQuery.publish("done");
}, 1000);
}
jQuery.subscribe("done", f2);
jQuery.unsubscribe("done", f2);//取消订阅
4、promoses对象
简单说,它的思想是,每一个异步任务返回一个Promise对象,该对象有一个then方法,允许指定回调函数。比如,f1的回调函数f2,可以写成:
f1().then(f2);
function f1(){
var dfd = $.Deferred();
setTimeout(function () {
// f1的任务代码
dfd.resolve();
}, 500);
return dfd.promise;
}
网友评论