zoukankan      html  css  js  c++  java
  • javascript中的私有作用域

    我们知道js中所有的块级作用域都是无效的,块级作用域内的变量,在外部仍然可以被读取,其实是申明在外部的。如何实现变量的私有化,只在块级作用域起效,避免污染全局的变量呢。而且,挂载在全局的变量很难被回收,但是函数里面变量,执行完毕就会被回收(不包含函数内的引用函数变量的内部函数,也叫闭包)

    javascript引入立即执行函数,来创建私有作用域。

    书上的描述

    那么举一些例子来说明一下,在实际代码中的运用

    打开vue引用的node_module中的vue.js

    这个代码的结构简写就是

    (function(global, factory){
    
    }(this, function(){}))

    这是一个私有作用域

    除了vue.js,传统的jquery的结构也是这样的

    外部的结构抽出来就是

    (function(window, underfined){})(window);

    这也是一个私有作用域,立即执行函数

    如果自己写一个组件和框架的时候,记得用一个立即执行函数去封装模块代码。而且立即执行函数执行完毕,内部的变量就能被回收。

    内存问题

  • 相关阅读:
    Got05
    Git07
    Git09
    Git11
    Git10
    Git13
    Git12
    Git14
    Listview点击跳转页面
    《三个和尚》观后感
  • 原文地址:https://www.cnblogs.com/chenyi4/p/12009694.html
Copyright © 2011-2022 走看看