美文网首页
面向对象闭包

面向对象闭包

作者: PySong | 来源:发表于2018-07-31 16:39 被阅读0次

面向对象
备份指针

// this在事件指令中指向事件源

// that称为备份指针

var that = this;

面向对象三大特性
封装

继承

多态

面向对象的使用
容错处理

var option = option || {};

闭包
当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。

function A(){
function B(){
console.log("Hello XMG!");
}
return B;
}
var b = A();
b();//Hello XMG!
技法最大目的: 全局变量私有化

闭包的最大用处有两个:

可以读取函数内部的变量

让这些变量的值始终保持在内存中。

所有的全局变量都是Windows属性. 所以可以文件各个地方拿到

!!!在函数内部的变量前面没有var用来声明就代表是全局变量

函数嵌套的变量取值采用就近原则 :

变量的查找过程(查找过程只能从内部向外)

先在现作用域中查找(遍历)

去父级-> 祖父级作用域查找

直到找到全局变量(Window属性)后还木有找到就报错

缺点: 类似于递归, 浪费性能. 所以建议尽量不要使用全局变量

引入闭包 : 用于保存局部变量. 但是不能乱用, 过多容易导致内存泄漏.

闭包的技术优点:
不污染全局空间!

内部所有的临时变量执行完毕都会释放不占内存。

可以保存全局数据。

更新复杂变量。

相关文章

  • 闭包和面向对象设计

    闭包: 面向对象:

  • 闭包与面向对象设计

    闭包 面向对象 或者

  • Swift入门二(对象函数)

    函数 闭包 GCD 尾随闭包 闭包循环引用解决(OC) 闭包循环引用解决(swift推荐) 面向对象 命名空间: ...

  • 面向对象闭包

    面向对象备份指针 // this在事件指令中指向事件源 // that称为备份指针 var that = this...

  • 面向对象,闭包

    (1)通过标签获取元素 do...while循环 定时器在javascript中的作用 1、制作动画2、异步操作3...

  • 面向对象、闭包

    变量的作用域 变量作用域指的是变量的作用范围,javascript 中的变量分为全局变量和局部变量; 1.全局变量...

  • 面向对象闭包

    面向对象备份指针 // this在事件指令中指向事件源 // that称为备份指针 var that = this...

  • 2018-06-27

    JavaScript(面向对象+原型理解+继承+作用域链和闭包+this使用总结) 一、面向对象 1、什么是面向对...

  • Lua-基本语法

    1.基本语法 2.表 3.数组 4.面向对象之复制表的方式面向对象 5.面向对象之函数闭包的方式面向对象

  • js学习笔记----进阶Day06 js面向对象和闭包

    面向对象 备份指针 面向对象三大特性 封装 继承 多态 面向对象的使用 容错处理 闭包 当一个内部函数被其外部函数...

网友评论

      本文标题:面向对象闭包

      本文链接:https://www.haomeiwen.com/subject/ccuhvftx.html