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

小结:

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

时间: 2024-10-05 23:02:00

javascript 设计模式 第一章 笔记的相关文章

代理模式 + Effective C++ 第一章笔记

代理模式(Proxy):为其他对象提供一种代理以控制这个对象的访问. 应用: (1):远程代理,为一个对象在不同的地址空间提供局部代表.这样可以隐藏一个对象存在于不同地址空间的事实 (2):虚拟代理,根据需要创建开销大的对象.通过虚拟代理存放实例化需要很长时间的真是对象. (3):安全代理,用来控制真是对象访问时的权限. (4):智能指针,当调用真实的对象时,代理处理另外一些事. Effective C++: 1:确定对象被使用前已经被初始化 (1),为内置类型进行手工初始化,因为C++不保证初

Functional Programming Principles in ScalaScala函式编程原理 第一章笔记

所有non-trival编程语言都提供了 基本表达式(expression)去表示最简单的表达式 组合表达式的方法 抽象表达式的方法,也就是为表达式引入一个名字去引用它 substitional model 替代模型 sumOfSquares(3,2+2) sumOfSquares(3,4) square(3)+square(4) 9+square(4) 9+16 25 这种模型的核心概念是所有的表达式都规约成值,替代模型在lamada表达式中被形式化,构成了函数式编程的基石 substitio

【php学习】PHP 入门经典第一章笔记

第一章: php在线手册:http://php.net/manual/zh/index.php 在开始学习PHP之前,先来看一个合格的PHP程序员今后应具备哪些知识,这里只是笔者的一些总结,希望对读者接下来的学习有所帮助. 从广泛意义上讲,PHP程序员仅掌握PHP是不够的,需要在学习PHP的过程中掌握更多的知识,这样才能开发出更好.更完善的软件.在前台页面设置过程中需要掌握HTML.DIV.CSS.Javascript脚本等:在程序安全上需要掌握服务器基本的配置知识.安全过滤权限等:在程序优化和

读高性能JavaScript编程 第一章

草草的看完第一章,虽然看的是译文也是感觉涨姿势了, 我来总结一下: 由于 大多数浏览器都是 single process 处理 ui updatas and js execute 于是产生问题: js (script tag) will blocking page processing 上图说话: 于是大家动脑筋想办法 想到了三个办法 1. Parallel downloads, then execute  并行下载,然后执行. 2.Download times less,Less downlo

《javascript设计模式》读书笔记一(接口)

1.什么是接口 学习过<设计模式>的亲们可能听说过编程的一条原则:"针对接口编程而不是实现编程".那么到底什么是接口呢? 接口定义了一个对象应该有的那些方法的手段,但是不具体规定这些方法的具体实现.学习过C#,或者VB.NET的可能会很清楚.所谓的接口就是一个只有方法名,但没有实现的某种特殊的类. VB.NET中的接口 Public Interface Person Sub say() Sub eat() End Interface Public Class Man Imp

《javascript设计模式》读书笔记三(继承)

1.为什么要继承 在设计类的时候,总是在强调减少类与类之间的"耦合度",也就是减少类与类之间的关联.而通过继承能给我们带来什么呢? 1)减少重复性代码 2)弱化对象间的耦合 3)抽象不应该依赖细节:细节应该依赖抽象-<设计模式> 而我们知道像在C#语言中,继承机制操作的话,只需要一个关键字即可,而在javas没有这种机制,还需要模范,下面就是几种模仿继承的方法. 2.原型链式 首先创建一个Person类,其有name属性,然后让一个Author类来继承Person类.效果如

《javascript设计模式》读书笔记四(单利模式)

1.单利模式简介 在<设计模式>中单利模式是一种比较简单的模式,定义如下: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 在javascript中则将代码组织为一个单元,这个逻辑单元可以通过一个单一的变量访问,确保这个对象只存在一份实例. 单体类在javascript中可以用来划分命名空间.减少网页中全局变量的数目. 小结:其实就是把所有的代码封装到一个类中,访问时就通过这个类访问.好比生活中常见的电视遥控.把所需要的操作都封装到遥控上,访问电视时,直接通过遥控操作即可.

MDN——javascript——入门——第一章——知识点总结

1.什么是js: JavaScript 是允许你在网页中实现复杂事情的一门编程语言 例子: var para = document.querySelector('p'); para.addEventListener('click', updateName); function updateName() { var name = prompt('Enter a new name'); para.textContent = 'Player 1: ' + name; } JS APIs: 1浏览器 A

大话设计模式--第一章 简单工厂设计模式

简单工厂设计模式 案例: 写一个计算器, 实现加减乘除. 第一步: 写一份简单的代码 package com.chapter1; public class Caculator1 { public static void main(String[] args) { if(args.length < 3){ System.out.println("参数个数异常"); return ; } Double num1 = Double.parseDouble(args[0]); Doubl