严格模式下this的指向

快乐打工仔 分类:实例代码

严格模式下this的指向属于前端实例代码,有关更多实例代码大家可以查看

关于this的基本用法,这里就不多介绍了,具体可以参阅javascript的this用法详解一章节。

特别说明:上面的文章并没有考虑到严格模式的影响。

下面就来介绍一下在严格模式下,this的变化有哪些。

在非严格模式下,如果如果函数没有用作构造函数,而是仅仅作为普通函数使用的话,那么函数中的this是指向window的。

代码实例如下:

var webName="犀牛前端部落";
function done(){
  console.log(this.webName);
}
done();

在上面的代码中,done用作普通函数,它里面的this是指向window对象的。

但是在严格模式下,并非如此,代码如下:

"use strict";
var webName="犀牛前端部落";
function done(){
  console.log(this.webName);
}
done();

上面的代码会报错,因为在严格模式下,done用作普通的函数,那么this的值就是undefined。

特别说明:本编辑器无法正确演示严格下的效果,请复制到本地测试。

严格模式下this的指向,这样的场景在实际项目中还是用的比较多的,关于严格模式下this的指向就介绍到这了。

回复

我来回复
  • 暂无回复内容