首页 > 代码库 > javascript 设计模式 第一章 笔记

javascript 设计模式 第一章 笔记

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

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


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;
    }

   })();


1.4、对象的易变性
  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使用的是基于对象的原型式继承,用来模拟基于类的继承  


小结:

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

 

javascript 设计模式 第一章 笔记