zoukankan      html  css  js  c++  java
  • 函数中this的指向

      每个函数在被调用时都会自动取得两个特殊变量:this和arguments;内部函数在搜索这两个变量时,只会搜索到其活动对象为止,因此永远不可能直接访问外部函数中的这两个变量。

    f 1     var name = "The Window"
     2 
     3     var object = {
     4       name: "My Object",
     5       getNameFunc : function() {
     6         console.log(this.name);   //输出:My Object
     7         return function() {
     8           return this.name
     9         }
    10       }
    11     }
    12 
    13     console.log(object.getNameFunc()());   //输出:The Window

      不过,把外部作用域中的this对象保存在一个闭包能够访问到的变量里,就可以让闭包访问该对象了,例子如下:

     1     var name = "The Window"
     2 
     3     var object = {
     4       name: "My Object",
     5       getNameFunc : function() {
     6         var that = this   //重点在本行
     7         console.log(this.name);   //输出:My Object
     8         return function() {
     9           return that.name
    10         }
    11       }
    12     }
    13 
    14     console.log(object.getNameFunc()());   //输出:My Object

     知识点:红宝书182页

    今天你学习了吗!!!
  • 相关阅读:
    BETA冲刺(6/7)
    BETA冲刺(5/7)
    BETA冲刺(4/7)
    BETA冲刺(3/7)
    BETA冲刺(2/7)
    福大软工 · 第十次作业
    BETA冲刺(1/7)
    第08组 Beta版本演示
    第08组 Beta冲刺(4/4)
    第08组 Beta冲刺(3/4)
  • 原文地址:https://www.cnblogs.com/nayek/p/11749717.html
Copyright © 2011-2022 走看看