zoukankan      html  css  js  c++  java
  • 闭包

    闭包:
      应用两种情况
       1、函数作为返回值
       2、函数作为参数传递

          1、
              function fn1(){
          var max = 10;
          return function bar(x){
            if(x > max){
            console.log(x)
            }
          }
        }
        var f1 = fn1();
        f1(15);

       2、
        var max = 10,
        fn2 = function (x) {
          if(x > max){
          console.log(x) //15
          }
        };
        (function (f) {
          var max = 100;
          f(15)
        })(fn2)

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

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

  • 相关阅读:
    springboot笔记
    SpringBoot
    SpringBoot整合JPA
    Docker
    SpringMVC学习04:异常处理和拦截器
    SpringMVC学习03:文件上传
    SpringMVC学习02:响应数据和结果视图
    Mybatis学习04
    【java基础】初步理解面向对象、类、对象
    【Java基础】方法的重载
  • 原文地址:https://www.cnblogs.com/eye-color/p/6863662.html
Copyright © 2011-2022 走看看