tcl科技|JavaScript 函数( 四 )


给类型增加方法JavaScript 允许给语言的基本类型增加方法 。 我们已经看到 , 通过给 Object.prototype 添加方法来使得该方法对所有对象可用 。 这样的方式对函数、数组、字符串、数字、正则表达式和布尔值同样适用 。
我们可以通过给 Function.prototype 增加方法来使得该方法对所有函数可用:
Function.prototype.method=function(namefunc){this.prototype[name
=func
returnthis
通过给 Function.prototype 增加一个 method 方法 , 我们就不必键入 prototype 这个属性名 , 这个缺点也被掩盖了 。
JavaScript 并没有单独的整数类型 , 因此有时候只提取数字中的整数部分是必要的 。 JavaScript 本身提供的取整方法有些丑陋 。 我们可以通过给 Number.prototype 添加一个 integer 方法来改善它 。 它会根据数字的正负来判断使用 Math.celling 还是 Math.floor 。
Number.integer=function(){returnMath[this<0?'celling':'floor'
(this)
Number.method('integer'function(){returnMath[this<0?'ceiling':'floor'
[this
)document.writeln((-10/3).integer())String.method('trim'function(){returnthis.replace(/^s + | \\s + $/g''))
通过给基本类型增加方法 , 我们可以大大提高语言的表现能力 , 因为 JavaScript 原型继承的动态本质 , 新的方法立刻被赋予到所有值上 , 哪怕值是在方法被创建之前就创建好了 。
基本类型的原型是公共的结构 , 所以在类库混用时务必要小心 。 一个保险的做法就是只在确定没有该方法时才添加它 。
另外一个要注意就是 for in 语句用在原型上时表现很糟糕 。 我们可以用 hasOwnProperty 方法筛选出继承而来的属性 , 或者我们可以查找特定的类型 。
递归递归函数会直接或间接地调用自身的一种函数 。 递归是一种强大的编程技术 , 它将一个问题分解为一组相似的子问题 , 每一个都用寻常解去解决 。 一般来说 , 一个递归函数调用自身去解决它的子问题 。
【tcl科技|JavaScript 函数】