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数学运算用法总结》