<script type="text/javascript" src="jquery-1.11.1.min.js"></script> <body> <div id="contain1"> <input type = "button" name="test1" option="{required:true}"> </div> <div id="contain2"> <input type = "button" name="test2" option="{required:true,type:'number'}"> </div> </body> <script type="text/javascript"> <!-- //声明一个对象$.problemWo,添加一个b的静态属性和myclick的静态方法。 (function ($) { // 命名空间的绑定在$上 $.namespace = function() { var a=arguments, o=null, i, j, d; for (i=0; i<a.length; i=i+1) { d=a[i].split("."); if(!$.com){ o=$.com = function(){}; } else { o = $.com; } for (j=(d[0] == "com") ? 1 : 0; j<d.length; j=j+1) { o[d[j]]=o[d[j]] || {}; o=o[d[j]]; } } return o; }; //注册命名空间 $.namespace("com.frame"); //为类增加静态方法 $.com.frame.extendStatic = function (obj,obj1){ if(obj && obj1){ $.extend(obj,obj1); } } $.com.frame.extend= function (classObj,obj1){ var tempObj = function(){}; if(classObj && obj1){ if(typeof(classObj) == "function" && typeof(obj1) == "object"){ $.extend(classObj.prototype,obj1); tempObj.prototype = new classObj(); }else{ console.log("请检查参数!"); } }else if(classObj){ if(typeof(classObj) == "function"){ tempObj.prototype = new classObj(); } }else{ console.log("请检查参数!"); } return tempObj; } $.com.frame.Base = function () { this.x = "123"; this.init(); }; $.com.frame.Base.prototype = { init:function(){ console.log("init"); }, bindEvent:function(){ }, validate:function(){ } }; })(jQuery); $.namespace("com.frame.test"); $.com.frame.test.ProblemWo = $.com.frame.extend($.com.frame.Base ); $.com.frame.test.ProblemWo1 = $.com.frame.extend($.com.frame.Base, { temp:"2222", init:function(){ this.c = "2222222"; this.x = "b2bb"; console.log(this.temp); this.temp = "12211"; console.log(this.c); console.log(this.b); } }); //声明一个对象$.problemWo,添加一个b的静态属性和myclick的静态方法。 (function ($) { $.com.frame.extendStatic($.com.frame.test.ProblemWo, { staticT: 5 ,staticTest: function () { } } ); })(jQuery); var problemWo = new $.com.frame.test.ProblemWo(); var problemWo1 = new $.com.frame.test.ProblemWo1(); alert(problemWo1.x); alert(problemWo.x); $("#contain1 input[option]").each(function(){ alert(this.name); var optionObj = this.getAttribute("option"); }) </script>
相关推荐
上几节讲了 JavaScript 面向对象之命名空间 、 javascript 面向对象的JavaScript类 、 JavaScript 面向对象的之私有成员和公开成员 与 Javascript 面向对象之重载,大家可以先看上面的再继续往下看。在JavaScript...
命名空间模式 声明依赖关系 私有属性和方法 模块模式 沙箱模式 静态成员 对象常量 链模式 method()方法 小结 第6章 代码复用模式 传统与现代继承模式的比较 使用类式继承时的预期结果 ...
Class.js是一种轻量级且经过优化的库,用于使用简洁的语法在Javascript中定义名称空间,类和继承。 定义一个命名空间 namespace("ui.controls.Box"); ui.controls.Box = function(){} 在命名空间中定义一个空的...
6.3.1 命名空间 6.3.2 模块 6.4 零全局变量 第7章 事件处理 7.1 典型用法 7.2 规则1:隔离应用逻辑 7.3 规则2:不要分发事件对象 第8章 避免“空比较” 8.1 检测原始值 8.2 检测引用值 8.2.1 检测函数 ...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向...
命名空间模式 声明依赖关系 私有属性和方法 模块模式 沙箱模式 静态成员 对象常量 链模式 method()方法 小结 第6章 代码复用模式 传统与现代继承模式的比较 使用类式继承时的预期结果 类式继承模式#1——默认模式 ...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的...
8.5 作为命名空间的函数181 8.6 闭包182 8.7 函数属性、方法和构造函数188 8.8 函数式编程194 第9章 类和模块201 9.1 类和原型202 9.2 类和构造函数203 9.3 JavaScript中Java式的类继承207 9.4 类...
8.5 作为命名空间的函数 181 8.6 闭包 182 8.7 函数属性、方法和构造函数 188 8.8 函数式编程 194 第9章 类和模块 201 9.1 类和原型 202 9.2 类和构造函数 203 9.3 javascript中java式的类继承 207 9.4 类的扩充 210...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向...
8.5 作为命名空间的函数181 8.6 闭包182 8.7 函数属性、方法和构造函数188 8.8 函数式编程194 第9章 类和模块201 9.1 类和原型202 9.2 类和构造函数203 9.3 JavaScript中Java式的类继承207 9.4 类...
6.3.1 命名空间 6.3.2 模块 6.4 零全局变量 第7章 事件处理 7.1 典型用法 7.2 规则1:隔离应用逻辑 7.3 规则2:不要分发事件对象 第8章 避免“空比较” 8.1 检测原始值 8.2 检测引用值 8.2.1 检测函数 ...
8.5 作为命名空间的函数 181 8.6 闭包 182 8.7 函数属性、方法和构造函数 188 8.8 函数式编程 194 第9章 类和模块 201 9.1 类和原型 202 9.2 类和构造函数 203 9.3 javascript中java式的类继承 207 9.4 类的扩充 210...
Olive 处理命名空间、类的创建和继承
1.2.4 为重用命名空间而进行规划 1.2.5 通过可重用的对象把事情简化 1.2.6 一定要自己动手写代码 1.3 JavaScript语法中常见的陷阱 1.3.1 区分大小写 1.3.2 单引号与双引号 1.3.3 ...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向...
8.5 作为命名空间的函数 181 8.6 闭包 182 8.7 函数属性、方法和构造函数 188 8.8 函数式编程 194 第9章 类和模块 201 9.1 类和原型 202 9.2 类和构造函数 203 9.3 javascript中java式的类继承 207 9.4 类的扩充 210...