javascript 设计模式 第一章 笔记

1.2若类型语言:
 javascript 3种元素类型:布尔值、数值型、字符串、
  对象类型和可执行代码的函数类型
    null、未定义类型。   javascript

   原始数据类型按值传递,其余类型按引用传递
  
 数据类型的转换  原始类型能够进行类型转换 
  1.toString 方法能够把数值、布尔型转换为字符串
  二、parsefloat、parseInt函数能够把字符串转换为数值
  3.双重“非”能够把字符串、数值转换成布尔值
  var bool = !!num; java


1.3 函数是一等对象
 函数是对象,
 1.能够当初变量和参数传递给其余的函数  
 2.能够做为返回值从其余的函数传出
 3.在运行时能够进行构造
 4.能够用function(){---} 语法建立匿名函数
  (functon(){
   var foo = 10;
   var bar =2
   alert(foot*bat)l 编程

  })(); 设计模式


 5.匿名函数最用途是用来建立闭包。
  闭包归纳:
   1.是一个受到保护的变量空间,由内嵌函数生成。
   2.函数级做用域,因此定义在函数的内部的变量外部不能访问,
   javascript做用域 又是词法性质的, 意味着函数运行在她定义她的做用域中不是在用调用它的做用域中,两个结合起来,就能把变量包裹在函数中,而对其加以保护,用来建立(类的私有变量)
    var test;
   (function(){ 闭包

    var foo =10;
    var bar =2;
    test = function(){ 函数

     return foo*bar;
    } this

   })(); prototype


1.四、对象的易变性
  1.能够为函数添加属性
  function displayError(msg){
   displayError.numtimes++;
  }
  2.能够为先前的你定义的类和实例化的地下进行修改
  function person(name,age){
   this.name = name;
   this.age = age; 设计

  } 对象

  prson.protype = function(){
   getName:function(){
    return this.name;
   }

  }

  person.prototype = function(){
   getAge:function(){
    return this.age
   }
  }
  /**
   * 建立对象
   */
  

  var alicer  = new Person ("alice",40)
  var bill  = new Person ("bill",30)

  /**
   * 修改类的方法
   */
  
  person.prototype.getGreenting  = function(){
   return "HI"+this.getName();
  }

  3.内省的概念 和反射 有时间须要好好阅读一下。  这个概念不太理解


1.5 继承

 1.javascript使用的是基于对象的原型式继承,用来模拟基于类的继承  


小结:

 使用的编程风格和选择的设计模式应该要与所要具体的工做相称。    

相关文章
相关标签/搜索