匿名函数,异步和同步,回调函数,闭包定义总结

2018-07-02  本文已影响0人  却忘不掉你心言

一,匿名函数

没有名字的函数就是匿名函数

function (){}

1)var f = function(){}  调用:f();

2)var con = document.getElementById('con');

con.onclick = function(){}

3)IIFE即时调用函数

普通函数是对象,即时调用函数其实是将普通函数降级生成的

降级方式:1)-function(){}()

2)+function(){}()

3)(function(){})()

匿名函数的好处:

变量封闭,私有保护,不对外开放,减少对全局变量的污染

二,异步和同步

1,json

组织形式:

var json = {

"key":"value",

"sex":"男"

}

増:

json.age = 23;

json["age"] = 23;

删:

delete json.sex;

delete json["sex"];

改:

json.age++;//让其自增一

json["age"] = 38;

查:

json.name;

json["name"];

json嵌套:

var j = {

"name":"=lisi",

"obj":{

"age":23,

"sex":"男"

}

}

j.obj.age;

j["obj"]["age"];

json遍历:

for in 遍历

for(var k in j){

//k:每一个键值对的键

//j[k]:每一个键值对的值

}

2,同步

从上到下依次执行,就是同步

程序中使用同步的地方很多,就是排队执行,上边没有执行完,下边必须等待

eg:

alert()

for语句

3,异步

当遇到耗时操作,系统不会等待,直接执行后边的语句

常见的异步:

setInterval

setTimeout

ajax  Node.js

如果有异步语句就一定是异步操作

如果没有异步语句,那就不是异步操作

三,回调函数

一般用在异步中,当异步事情做完了,还想继续做点事,需要使用回调函数

四,闭包

变量: 作用域  全局变量和局部变量

直白的说:函数内部能调用外部的变量,函数外部不能调用函数内部的变量

函数:能形成作用域,函数内部声明的变量在外部不能调用

函数闭包:一个函数可以把他自己内部的语句和自己声明时所处的环境(作用域),一起封装成一个密闭的环境,称之为闭包

每一个函数都是闭包形态,都能够天生记忆自己的语句和自己声明时所处的环境,但是我们需要将这个闭包放在特殊地方才能更好的观察闭包

特殊的地方:当前作用域以外的地方

闭包其实就是让变量在不同作用域之间调用

闭包的性质:

1,闭包用于处理隐患,不是加以利用的性质

2,每一次调用闭包都是访问一个全新的闭包,都会访问闭包中的全部变量

上一篇 下一篇

猜你喜欢

热点阅读