firemail

标题: [javascript]-----JavaScript设计模式 中文清晰扫描版PDF 及 学习笔记 [打印本页]

作者: hechengjin    时间: 2015-10-21 22:23
标题: [javascript]-----JavaScript设计模式 中文清晰扫描版PDF 及 学习笔记
本帖最后由 hechengjin 于 2015-10-22 13:15 编辑

JavaScript设计模式共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些JavaScript 程序员最常见的任务,然后运用设计模式使其解决方案变得更模块化、更高效并且更易维护,其中较为理论化的例子则用于阐明某些要点。


avaScript设计模式 中文清晰扫描版PDF 百度网盘下载:http://pan.baidu.com/s/1mg8a9rM

------------------------------------------分割线------------------------------------------

FTP地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

在 2015年LinuxIDC.com\9月\JavaScript设计模式 中文清晰扫描版PDF

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

------------------------------------------分割线------------------------------------------

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-09/122725.htm



第四章 继承

类式继承

function Person(name){

  this.name = name;

}


Person.prototype.getName = function() {

  return this.name;

}


var reader = new Person('John Smith');

reader.getName();



function Author(name, books){

  Person.call(this, name); //Call the superclass's constructor in the scope of this.

  this.books = books; //Add an attribute to Author.

}


Author.prototype = new Person();  //Set up the prototype chain.

Author.prototype.constructor = Author; //Set the constructor attribute to Author.

Person.prototype.getBooks = function() {  //Add a method to Author.

  return this.books;

}


var author = new Author('Ross Harmes', ['JavaScript Design Patterns']);

author.getName();

author.getBooks();


建议下面写法

function Contacts()
{
   ContactsStorageBase.call(this);
}


Contacts.prototype = {
  __proto__: ContactsStorageBase.prototype,


//CURD
  create: function(contactInfo) {
    return this.db.contacts.add(contactInfo);
  },


read: function() {
        return this.db.contacts.where("id").notEqual(0).toArray();
}



}



原型式继承









欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3