javascript学习笔记(三)

一、面向对象的设计
1、工厂模式和构造函数模式
     解决了代码重复性问题
2、原型模式
    解决了示例对象的方法属性的共享问题,即所有实例共享一个方法(变量)属性
    重点理解原型对象、原型的动态性(对原型对象的任何修改会反映到实例上)
3、构造函数模式和原型模式组合使用
4、动态原型模式
    解决了创建多个实例对象时原型方法的多次初始化问题
5、寄生构造函数模式
6、稳妥构造函数模式
    不同的模式有不同的应用场景
7、继承
   原型链继承、对象冒充(call、apply)、组合使用
二、函数表达式
1、基本语法
    函数声明(函数声明提升)、函数表达式(匿名函数)、(function(param){})(param)和function(){}()立即执行匿名函数
2、闭包
    指有权访问另一个函数作用域中的变量的函数
3、内存泄漏
   如果闭包的作用域链中保存一个Dom对象,那么该元素将无法被销毁,在不需要使用时,需手动将保存Dom对象的变量设为null
4、模仿会计作用域
    (function(){//这里是块级作用域})(),这样避免全局变量的污染
5、私有变量
    对自定义类型而言的私有变量和方法
    函数的参数、局部变量和在函数内部定义的其他函数
6、静态私有变量
    (function(){
        var privateVariable = 10;                 //privateValiable即为MyObject的静态私有变量,这个类似于php中类的静态变量
        function privateFunction(){             //privateFunction为MyObject的静态私有方法,这个类似于php中类的静态方法
           return false; 
       };
        MyObject = function(){};
        MyObject.prototype.publicMethod = function(){      //将方法赋值给原型链,即所有MyObject对象共享了publicMethod方法,且内存中不会产生多个该方法
           privateValiable++;
           reutn privateFunction(); 
       }
    })()
7、模块模式
    模块模式是为单例创建私有变量和特权方法
 
    以上为上周学习js知识汇总,js函数式编程和面向对象设计个人感觉比较绕,需要多花些时间理解。本周计划学习和梳理Dom的基本知识要点,包括Dom扩展Dom2Dom3总共三章的学习
posted @ 2016-11-04 22:08  虽不能至,心向往之。  阅读(99)  评论(0)    收藏  举报