javascript内部原理篇[javascript实现聚合]
程序员文章站
2024-01-28 19:47:28
javascript不仅仅能够实现继承,有时候我们仅仅是需要类中的一部分属性或者方法的时候,我们可以考虑聚合来实现
直接上例子,这里仅仅是提供一个思路,例子感觉并不能够说的特别详尽...
javascript不仅仅能够实现继承,有时候我们仅仅是需要类中的一部分属性或者方法的时候,我们可以考虑聚合来实现
直接上例子,这里仅仅是提供一个思路,例子感觉并不能够说的特别详尽,针对聚合的更深理解,大家可以百度一下,也可以在评论中我们一起讨论
对象的实现方法:
/** * 掺元类 * 有的时候我们不需要严格的继承,我们真正需要的是一个类中的一些函数 */ (function(){ //我们准备将要被聚合的函数 var JSON = { toJSONString : function(){ var output = []; for(key in this){ output.push(key + "-->" + this[key]); } return output; } } /** * 聚合函数 */ function mixin(receivingClass, givingClass){ for(methodName in givingClass){ if(!receivingClass[methodName]){ receivingClass[methodName] = givingClass[methodName]; } } } var o = {name:"jim",age:16}; mixin(o,JSON); document.write(o.toJSONString().join(","));
类中实现
JSON.prototype = { //如果说不用prototype toJSONString :function(){ var outPut = []; for(key in this){ outPut.push(key+" --> "+this[key]) } return outPut; } } //制作聚合函数 function mixin(receivingClass,givingClass){ for(methodName in givingClass.prototype){ //本类中没有这个函数的情况下我在聚合,否则跳过 if(!receivingClass.prototype[methodName]){ receivingClass.prototype[methodName] = givingClass.prototype[methodName] } } } //var o = {name:"a",age:27} var o = function(){ this.name = "a"; this.age = 17 } mixin(o,JSON); var a = new o(); document.write(a.toJSONString().join(","))
推荐阅读
-
javascript内部原理篇[javascript实现聚合]
-
js实现的定时关闭页面或定时提醒效果代码_javascript技巧
-
C#和JavaScript实现交互的方法
-
PHP中的str_repeat函数在JavaScript中的实现_php技巧
-
js读写COOKIE实现记住帐号或密码的代码(js读写COOKIE)_javascript技巧
-
this和执行上下文实现代码_javascript技巧
-
JS+CSS实现淡入式焦点图片幻灯切换效果的方法_javascript技巧
-
Javascript中3种实现继承的方法和代码实例_javascript技巧
-
JavaScript实现拖拽预览,AJAX小文件上传
-
JavaScript实现简单的四则运算计算器完整实例