码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript this 局部变量全局变量 作用域 作用域链 闭包

时间:2014-08-04 13:43:47      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   java   io   cti   ar   代码   

从阮老师博客的一道测试题说起:

  代码段一:

var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      return function(){
        return this.name;
      };
    }
  };
alert(object.getNameFunc()());

   代码段二:

var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      var that = this;
      return function(){
        return that.name;
      };
    }
  };
alert(object.getNameFunc()());

这两段代码是为了巩固javascript中闭包的用法,但是如果不了解javascript中this的用法的话,很难理解这两段代码的真正意思。

   从这个例子入手,首先了解javascript中this的指向。

 This                                                                                                                                     

      1、this的指向是由它所在函数调用的上下文决定的,而不是由它所在函数定义的上下文决定的;

      2、当一个函数作为函数而不是方法来调用的时候,this指向的是全局对象(也就是说当出现 [对象].[函数名] 时,this指向是[对象])。

 

JavaScript this 局部变量全局变量 作用域 作用域链 闭包,布布扣,bubuko.com

JavaScript this 局部变量全局变量 作用域 作用域链 闭包

标签:style   blog   color   java   io   cti   ar   代码   

原文地址:http://www.cnblogs.com/wangyuanliang/p/3889762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!