给JavaScript的String对象添加startsWith(), endsWith()等方法

用C#用习惯了,在写JavaScript代码时,用字符串时没有了startsWith()和endsWith()方法颇感不适应。于是自己给JavaScript的String对象添加两个,顺便再添加一个删除所有空白字符的方法。 // // 给字符串对象添加一个startsWith()方法 // String.prototype.startsWith = f... [More]

对JavaScript的Math.pow()函数的一个修正

一、问题: JavaScript的Math对象中有一个方法Math.pow(x, y),用来求x的y次方。它有一个问题,即当x<0且y<1的时候,它总是返回NaN。对于x<0且1/y为偶数时,它返回NaN是有道理的,因为负数不能够被开偶数次方根。但是对于x<0且1/y为奇数时,返回NaN就没有道理了,因为负数也可以被开奇数次方根。 即JavaScript的Math.po... [More]

Google搜索结果链接打不开的解决方案(二)

一、问题: 在大陆,经常会碰到这个问题,就是使用Google成功搜索出了一堆结果列表,然而在单击其中一条结果时,打开的页面说无法显示此网页(错误 101 (net::ERR_CONNECTION_RESET):连接已重置。)。如下图: 二、原因分析: 见:《Google搜索结果链接不能打开的解决方案》。 三、解决方案: 复制没有打开的链接网址,如:http://www.goog... [More]

识别幂函数输入的正则表达式(三)

一、注意事项: 本文所讨论的正则表达式,均是JavaScript版本的。 二、应用: 本系列文章所讨论的技术,都已经使用在了函数涂鸦板 中。 三、要解决的问题: 在《识别幂函数输入的正则表达式(二)》中,通过使用增强的幂函数识别正则表达式 /(\w+)\s*\^\s*([-\+]?\s*\w+|\(.*\))/ 实现了对 y = x ^ 2 y = x ^ –2 y = x ^... [More]

识别幂函数输入的正则表达式(二)

一、问题: 在上一篇《识别幂函数输入的正则表达式》中,所使用的正则表达式还是非常初级的,即只能识别指数为正数的情况。y = x^2 能够被识别,而 y = x ^ -2,则不能被识别。 现在要改进原正则表达式,使它能够识别这样的幂函数输入: y = x ^ 2 y = x ^ –2 y = x ^ + 2 y = x ^ (-3/2) 二、解决方案: 增强的正则表达式为:/(\w... [More]

识别幂函数输入的正则表达式

一、问题: 自己做了个在线图形计算器,在初级版本中,如果需要画一个幂函数,就需要类似如此输入: y  = pow(x, 2) 今天对其进行了一个小小的升级,使得可以按照惯例,如此输入: y = x^2 如何做到这点呢? 二、解决方案: 为了快速升级,此次没有对函数语法解析算法进行修改,只是拦截了用户的输入,在进行语法解析前,对输入进行了字符串级别的替换。即将 y = x^... [More]

Array 对象的最大最小值方法之修订版

一、背景: 十月27号,我写过《给JavaScript的Array对象添加两个最大最小值方法》,非常简洁。今天我发现,这个简洁的实现给我惹了点麻烦。如果有一个数组,里面并不全为数字,那么,简洁版实现的最大最小值方法,将返回NaN对象,即Not a Number。 二、目标: 我希望达到的效果是,如果数组里面不全为有限数字,最大最小值方法仍然能够返回其中的有限数字部分的最大最小值。如果全不为数... [More]

给JavaScript的Array类添加几个统计方法

一、问题 在编程对数据进行统计时,经常使用数组来存储数列。然后JavaScript的Array类,几乎没有相关的方法(除了.length得到数列的容量外)。 前面给JavaScript的Array对象添加了两个最大最小值方法,今天再给扩充一下,添加求和、平方和、平均值、偏差平方和、样本标准差、总体标准差这几个方法。 二、源码 Array.prototype.sum = functi... [More]

给JavaScript的Array对象添加两个最大最小值方法

一、问题 有时候,对于一个装满数字的数组,希望快速地得到其最大值、最小值分别是多少。真希望通过如下方式来取得: var a = [1, 2, 3, 4]; alert("最大值:" + a.max()); alert("最小值:" + a.min()); 只可惜JavaScript的数组对象没有自带此两种方法,有必要增强一下。 二、解决方... [More]