this
指当前函数执行的主体(谁执行的函数this就是谁)
函数外面的this是window,我们一般都研究函数内的this指向问题
this是谁和它在哪定义的和它在哪执行的都没有任何关系
1 | function eat(){ |
在js非严格模式下this:
1、自执行函数中的this一般都是window
1 | var obj={ |
2、给元素的某个事件绑定方法,当事件触发执行对应事件的时候,方法中的this一般都是元素本身
1 | oBox.onclick=function(){ |
3、还有一种方式能快速区分this:当方法执行的时候,看方法前边是否有 .
:有 .
, .
前边是谁this就是谁,没有 .
this一般就是window
1 | var obj={ |
在js严格模式下this:
开启js严格模式:在当前作用域的第一行加上
"use strict"
开启严格模式,那么当前作用域下再 执行js代码都是按照严格模式处理的
1、如果执行主体不明确,this指向的是undefined
(非严格模式下指向的是window)
1 |
|
案例
1 | function fn(){ |
1 | //window全局作用域 |
异步 同步
同步:
js当中当前这个任务没有完成,下面的任务都不会执行,只有等当前任务彻底完成才会执行下面的任务
异步:
js当中当前这个任务没有完成,需要等一会儿才能完成,此时我们可以继续执行下面的任务
所有的事件绑定都是异步编程,不用等执行就能接着做别的事情