JavaScript面向对象程序设计三 原型模式(上)
我们创建的每一个函数都有一个prototype(原型)属性,该属性是一个对象,包含可以有特定类型的所有实例共享的属性和方法。使用它的好处就在于可以让所有对象实例共享它所包含的属性和方法,也就是说,不必在构造函数中定义对象的信息,而是可以将这些信息,直接添加在原型对象中,如下所示,还是接着改写前两篇日
我们创建的每一个函数都有一个prototype(原型)属性,该属性是一个对象,包含可以有特定类型的所有实例共享的属性和方法。使用它的好处就在于可以让所有对象实例共享它所包含的属性和方法,也就是说,不必在构造函数中定义对象的信息,而是可以将这些信息,直接添加在原型对象中,如下所示,还是接着改写前两篇日
如 new Object()、new Date()等等!(object有{},数组有[]这样的快捷方式 ,我们主要探讨new这种方式。) 我们在使用jQuery时从来没有使用过new,他是不是用其他方法来生成实例呢?是不是没有使用prototype属性呢?事实上他都有使用,只是内部处理的非常巧妙,提
Object.prototype JavaScript是基于原型继承的,任何对象都有一个prototype属性。Object.prototype是所有对象的根,并且不可改变。 实现代码如下: Object.prototype=null; alert(Object.prototype);//[obje
javaScript的类型函数(如Number/String/Boolean/Array/Date/Obejct等)都是继承于 Function.prototype,所以给Function.prototype增加方法,同时也会影响到由它衍生的下层类型函数。如: 实现代码如下: Function.pr
如: 实现代码如下: Function.prototype.addMethod=function(methodName,func){ if(!this.prototype[methodName]){ this.prototype[methodName]=func;//给原型增加方法,此方法会影响到该
第一个阶段: 实现代码如下: function A(){ this.funB = function(){ alert('A:funB'); }; } A.prototype = { funA:function(){ alert('A:funA'); } }; function B(){ } func
实现代码如下: String.prototype.getQuery = function(name){ var reg = new RegExp('(^|\\?| return r === null ? null : unescape(r[2]); } var str = 'http://wpa.
添加到String.prototype中的方法比较多,不过归结起来,大致分为下面几类:分类方法名 原始能力增强strip |include|startsWith|endsWith |empty |blank格式camelize | capitalize |underscore |dasherize|
HTML处理stripTags| escapeHTML |unescapeHTMLJSON处理unfilterJSON |isJSON |evalJSON |parseJSON脚本处理stripScripts |extractScripts| evalScripts现在,String部分转入具体的关
格式camelize | capitalize |underscore |dasherize| inspect变形toArray |succ| times这里面一个有用的方法是inspect,按照参考手册的说明,他的作用是“返回该字符串针对调试的字符串表现形式(即用单引号或双引号包括起来,并使用 '