JavaScript设计模式之责任链模式实例分析(2)

return function () { this.addBook=function (book) { if(book instanceof Book){ AddJsBooks(book);//因为我知道谁是链的入口 } }; this.findBook=function (keyword) { return FindBbn(keyword);//游泳规划的责任链可以从头到尾的查询若,FindBbn没有则到FindByName中查询 } this.showBooks=function () { document.write("JS类图书"+jsBooks.toSource()+"<br>"); document.write("Java类图书"+javaBooks.toSource()+"<br>"); document.write("C类图书"+cBooks.toSource()+"<br>"); //自动生产---------- document.write(cpoyStr(60,"-")+"<br>"); } }

注意,在window上扩展一个可以自动生成“---------------”的方法

//扩展一个可以自动生产-----的方法 window.cpoyStr=function (num,str) { var newStr=""; for(var i=0;i<num;i++){ newStr+=str; } return newStr; };

(8)使用书店

1:添加书

var pb = new pcatBookShop(); pb.addBook(new Book("00101","JAVA","JIM","JAVA")); pb.addBook(new Book("00201","C#","world","C")); pb.addBook(new Book("00202","C++/C","Hello","C")); pb.addBook(new Book("00301","JAVASCRIPT","Good","JS"));

2:对书架上的书进行操作-----展示

//展示 pb.showBooks(); document.write(pb.findBook("C").toSource())

为此我们基本上完成了对责任链模式的使用方式的基本学习。

更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/29ee5da5d8d4f15bcf3cef475651022a.html