js function 中的this

对于function中的this,需要明确一点的是它只有在function执行的时候才能被确定。并且this指的是function的执行环境,也就是调用该方法的对象。

var user = {
    count:1,
    getCount:function(){
      return this.count;   
    }
}
console.log(user.getCount()); //1
var otherGetCount = user.getCount;
console.log(otherGetCount());  //undefined;

上面代码中奖getCount方法赋值给otherGetCount方法,当在全局环境中调用otherGetCount()方法时,此方法的执行环境为window。由于在window下未定义count,所以返回值为undefined。
可通过以下代码验证:

var count = 2;
var user = {
    count:1,
    getCount:function(){
      return this.count;   
    }
}
console.log(user.getCount()); //1
var otherGetCount = user.getCount;
console.log(otherGetCount());  //2;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,386评论 2 17
  • 没搞错吧!js写了那么多年,this还是会搞错!没搞错,javascript就是回搞错! ………… 在写java的...
    zhoulujun阅读 5,272评论 0 11
  • 1. this之谜 在JavaScript中,this是当前执行函数的上下文。因为JavaScript有4种不同的...
    百里少龙阅读 4,635评论 0 3
  • 说来这么多年对自己的工作从来都串连,没有并连!也知道原来可以这样看待工作就会变的不一样,变的差别那么大。自己对待...
    乐阳L阅读 921评论 0 0
  • 双休碰巧在这周,实实在在的工作7天。下班前大呼一声终于休息了,是阿,终于迎来了梅雨季节。害怕被雷雨困住,抢先一步与...
    zzzpcCookie阅读 1,634评论 0 0

友情链接更多精彩内容