zoukankan      html  css  js  c++  java
  • js之闭包、this

    今天面试,技术问我js闭包、this指向谁。现在想起来,我理解有偏差。技术会不会心里偷笑呢,哈哈哈。吃一堑长一智,做下笔记先。

     1     <script type="text/javascript">
     2         /*
     3         全局变量、局部变量、变量作用域、链式作用域
     4         闭包:可以理解为定义在函数内部的函数,匿名函数是闭包,闭包会导致函数中的变量保存在内存中,有可能会导致性能问题、内存泄漏
     5         */
     6 
     7         function func() {
     8             var sum = 0;
     9             add = function () { sum += 1 }; //前面没有var,是全局变量、匿名函数
    10             function get()
    11             {
    12                 console.log(sum);
    13             }
    14             return get;
    15         }
    16         var result = func();
    17         result(); //func().get();
    18         add();
    19         result();
    20 
    21 
    22         var name = "The Window";
    23         var object = {
    24             name: "My Object",
    25             getNameFunc: function () {
    26                 //return this.name;   //My Object,作为对象调用,this指向object
    27                 return function () {
    28                     return this.name;   //The Window,作为函数调用,this指向window
    29                 };
    30             }
    31         };
    32         console.log(object.getNameFunc()());
    33     </script>

     参考:

    javascript深入理解js闭包

    【JavaScript】this指的是谁?

  • 相关阅读:
    MaaS系统概述
    流处理认识
    事务补偿
    Hystrix原理与实战
    RPC概念和框架
    git remote: error: hook declined to update
    Unity CombineTexture
    Windows Powershell统计代码行数
    unity面试题二
    unity面试题一
  • 原文地址:https://www.cnblogs.com/maiaimei/p/7405062.html
Copyright © 2011-2022 走看看