javascript正则表达式实现trim()疑惑
正在看 javascript高级程序设计 ,其中关于分组里面的一句代码不是太理解:
通过配合使用String对象的replace()方法及反向引用,就可以定义自己的trim()方法:
String.prototype.trim = function() {
var reExtraSpace = /^\s+(.*?)\s+$/;
return this.replace(reExtraSpace,"$1");
}
一开始怎么也不理解 trim() 方法是怎么起作用的
var sTest = " this is a test ";
alert("[" + sTest + "]"); //outputs " [ this is a test ] "
alert("[" + sTest.trim() + "]"); outputs " [this is a test] "
后来查了一下 javascript 里面 StringObject 的 replace(regexp,replacement)
方法的第二个参数replacement里面的"$"特殊含义:
$n表示第 n 个子表达式 , 也就是 .*?
原来分组就是正则表达式的子表达式
相关文档:
//创建一个新的用户对象,接受一个有许多属性的对象作为参数
function User(properties)
{
for(var i in properties){(function(which){
var p=i;
//创建此属性的一个新的读取器(getter)
which["get"+p] = function(){
&nbs ......
来源:web-developer.csdn.net/?p=239 JavaScript 是一款强大的广泛运用于现代Web站点及应用的脚本语言。作为一个技艺精湛的 Web 开发者,掌握JavaScript可以增强用户的使用体验,提供交互及富客户端等功能。 尽管JavaScript 的语法非常简单,但对于写程序而言仍然是困难重重,就是因为它的运行环境:基于Web浏览器。 以 ......
用于枚举对象的属性
例:
for(sProp in window)
{
alert(sProp); //显示BOM window对象的所有属性。
}& ......
ECMAScript中,switch语句可以用于字符串,而且能用不是常量的值说明情况:
var BLUE="blue" , RED = "red" , GREEN = "green";
switch(sColor)
{
case BLUE: alert("Blue"); break;
&nb ......
按钮式:
<INPUT name="pclog" type="button" value="/GO" onClick="location.href='http://game.unimagic.cn'">
链接式:
<a href="javascript:history.go(-1)">返回上一步</a>
<a href="<%=Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a>
直接跳转式:
<scrip ......