面向对象
什么是对象
创建一个对象
new Object()
json = {
"":function(){}
}
工厂模式 :批量生产
构造函数 : new
原型函数 : prototype
闭包
回忆:
变量的作用域:局部变量 全局变量
匿名函数: 没名的函数
1、可以将一个匿名函数赋值给一个变量
var fn = function(){
alert(1);
}
fn();
2、匿名函数的自执行 --- 将一个匿名函数用 () 包起来, 后面跟一个()
(function(){
alert(1)
})();
3、带参数的匿名函数的自执行
(function(x){
alert(x);
})(2)
4、通过alert 打印匿名函数自执行
alert( (function(x,y){
return x>y?x:y;
})(2,3) );
5、可以将一个匿名函数赋值给一个表达式,在匿名函数的后面加一个() 也表示匿名函数自执行
var fn = function(){
alert(3)
}();
什么是闭包?
一个函数中返回一个匿名函数,这个函数就成为闭包
闭包就是能够读取其它函数内部变量的函数。闭包的存在延长了局部变量的生命周期。闭包的形式多变,但本质都是一样的,即局部函数全局执行。
闭包可以将一个局部变量长期驻留在内存中。
闭包中的this指向的是window对象
obj.onclick = function(){
var m = 90;
setTimerout(function(){ // 此时定时器中的函数也成为闭包
alert(m);
},2000)
}
function fn(){
var num = 90;
return function(){
return ++num;
}
}
var box = fn();
alert(box());
alert(box());
box = null; js中的垃圾回收机制:将一个变量值改为null,该变量自动销毁
异步编程 Promise
ajaxGet(url,function(){
})
解决: 函数嵌套问题,使代码更清晰, 解决javascript异步,使用Promise对象。
Promise对象的使用:
var promise = new Promise(function(){
})
Promise的三种状态:
进行中 pending
成功 resolved
失败 rejected
Promise对象的两个方法:
then() 方法是执行成功后的处理函数
catch() 方法是执行失败后的处理函数
异步编程框架:
var promise = new Promise(function(success,failed){
//success failed 形参去通知当前的promise对象
})
//成功和失败后有一个方法接收状态的改变
promise.then(function(){//成功后执行
},function(){ //失败后执行
})
欢迎大家持续关注。号内有多个专题,小程序(持续更新中),Javascript(持续更新),Vue(视频)等学习资源。觉得有收获的可以收藏关注,欢迎骚扰,一起学习,共同进步。
我的小程序,自律更自由,如果你也喜欢锻炼的话在这里寻找你的小伙伴吧。
一只喜欢锻炼的程序猿,嘿嘿。
你都看到这了,不点个关注就过分了哈~