javaScript函数
Posted ```飞翔的翅膀```
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript函数相关的知识,希望对你有一定的参考价值。
函数的定义方式
- 函数声明式:
function 函数名()
//...
特点:无论在函数定义前,还是函数定义后调用,都能执行
为什么都能执行???
因为函数声明方式:函数提升
- 函数表达式
var 变量名=function()
//....
变量名()
特点:只能在函数定义后调用,才能执行
this指向
- 在全局调用函数,函数中的this指向window
function fn() //this === window
javascript异步
- 同步与异步
- 同步:符合咱们人的认知习惯,一行一行往下按照代码顺序执行,如果前面代码没有执行完,不会执行
缺点:容易导致代码阻塞 - 异步:代码不会按照顺序执行,如果前面代码没有执行完,也会执行后面代码
缺点:阅读代码有一定成本,包括调试
- 同步:符合咱们人的认知习惯,一行一行往下按照代码顺序执行,如果前面代码没有执行完,不会执行
- 异步的应用场景
- 数据请求(ajax)
- DOM操作:例如:点击事件
- 定时器操作:setTimeout,setInterval
- …
- 管理异步
- 回调函数
缺点:容易导致回调地狱
Promise
- 回调函数
为了解决回调地狱问题,提出用Promise来管理异步代码
//定义
function request()
return new Promise((resolve,reject)=>
console.log(111)
if(满足)
resolve(返值) //用.then()接收
else
reject(返值) //用.catch接收
)
//调用
request().then(res=>
).catch(error=>
)
async/await
async/await:用同步的方式来管理异步代码
async写在function关键字前面
async function fn()
await必须要结合async使用
async function request()
await getList()
await后面能跟什么值?? await后面只可以跟做任意值
new Promise代码是同步的
.then是同步的
但.then中的回调函数是异步的
以上是关于javaScript函数的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript-Runoob-JS函数:JavaScript 函数定义
JavaScript-Runoob-JS函数:JavaScript 函数调用