ES6中this的三种用法
2019獨角獸企業重金招聘Python工程師標準>>>
<!DOCTYPE html>
<html lang="en">
<head>
?? ?<meta charset="UTF-8">
?? ?<title>Document</title>
</head>
<body>
<script type="text/javascript">
var obj={
?? ?a:5,
?? ?func:function(){
?? ??? ?console.log(this.a);
?? ?},
?? ?test:function(){
?? ??? ?var that=this;
?? ??? ?setTimeout(function(){
?? ??? ??? ?console.log(this);//window
?? ??? ??? ?that.func();
?? ??? ?},1);
?? ?}
}
obj.test();//5
</script>
?? ?
</body>
</html>
------------------------------------------------------------------------------------------------------------
?
<!DOCTYPE html>
<html lang="en">
<head>
?? ?<meta charset="UTF-8">
?? ?<title>Document</title>
</head>
<body>
<script type="text/javascript">
var obj={
?? ?a:5,
?? ?func:function(){
?? ??? ?console.log(this.a);
?? ?},
?? ?test:function(){
?? ??? ?
?? ??? ?setTimeout(()=>{
?? ??? ??? ?console.log(this);//window
?? ??? ??? ?this.func();
?? ??? ?},1);
?? ?}
}
obj.test();//5
</script>
?? ?
</body>
</html>
-------------------------------------------------------------------------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
?? ?<meta charset="UTF-8">
?? ?<title>Document</title>
</head>
<body>
<script type="text/javascript">
var a=10;
var obj={
?? ?a:5,
?? ?func:()=>{
?? ??? ?console.log(this.a);
?? ?},
?? ?test:function(){
?? ??? ?
?? ??? ?setTimeout(()=>{
?? ??? ??? ?console.log(this);//window
?? ??? ??? ?this.func();
?? ??? ?},1);
?? ?}
}
obj.test();//10
</script>
?? ?
</body>
</html>
?
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://my.oschina.net/kitty0107/blog/1606593
總結
以上是生活随笔為你收集整理的ES6中this的三种用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rxjs--创建操作符
- 下一篇: [PHP] PHP与Apache的模块配