IT新手入门,零基础学IT,转行做IT,IT行业的职位选择,你我一同探讨!

IT新手入门网给你介绍IT行业的职位有哪些,让你转行做IT不发愁,IT入门有捷径

当前位置: 主页 > 技能提升 > HTML5/前端互联网工程师 > Function和面向对象的介绍(二十)

Function和面向对象的介绍(二十)

时间:2017-02-11 18:49来源:原创 作者:恪己 点击:
一、Function 闭包: 什么是: 即重用变量,又保护变量不被污染的一种机制 为什么: 全局变量: 优: 可反复使用 缺: 易被污染尽量不使用全局变量 局部变量: 缺: 无法反复使用 优: 仅函数内可
一、 Function
闭包:
  什么是: 即重用变量,又保护变量不被污染的一种机制
  为什么: 全局变量: 优: 可反复使用
                              缺: 易被污染——尽量不使用全局变量
              局部变量: 缺: 无法反复使用
                              优: 仅函数内可用,不会被污染!
  何时: 只要希望重用一个变量,又不希望变量被污染时
  如何: 三特点:
     1. 用外层函数包裹受保护的变量和操作变量的内层函数
     2. 外层函数返回内层函数对象
     3. 使用闭包的人,调用外层函数,获得内层函数对象
  鄙视: 2步: 判断闭包输出
    1. 找受保护的变量,判断在外层函数调用后,受保护的变量的值。
    2. 找到所有操作受保护变量的内层函数:
  特殊: 如果闭包只希望创建一次,反复使用,外层函数就要使用匿名函数自调。
          var fun=(function(){
var 变量
                 return function(){
       ...变量...
                 }
          })();
          //fun->function(){  ...变量... }
   闭包的缺点: 比普通的函数占用更多内存
(外层函数AO始终不释放)
                      容易内存泄漏
   如何释放闭包: 设置引用内层函数的变量为null
                         导致内层函数对象释放
                         导致外层函数的AO释放
                         闭包就释放了
二、面向对象:
    什么是面向对象: 程序中都是先用对象来描述现实中一个事物
                              再根据需要调用对象的方法执行操作
    为什么: 和现实中的做事方法几乎完全一样。
    什么是对象:
           本质: 内存中集中存储多个数据和方法(函数)的存储空间, 起一个名字。
           用途: 程序中描述现实中一个具体事物的程序结构
                    事物的属性会成为对象的属性
                    事物的功能会成为对象的方法(函数)
    如何:
       创建对象: 也叫封装: 将一个事物的属性和功能集中定义在一个对象中。
          3种:
          1. 对象直接量:
              var obj={
 属性名: 属性值,
                         ... : ...,
    方法名: function(){      
                  }
              };
        函数 vs 方法: 所有function都是函数
                             保存到对象中的function也称为方法
    访问对象的成员: 成员: 属性和方法
        访问属性:  对象.属性名 -> 用法和普通变量完全一样!
        调用方法:  对象.方法名() -> 用法和普通方法完全一样!
               其实方法也是属性,只不过存储的是一个函数而已。


     

------分隔线----------------------------
栏目列表
推荐内容