JavaScript小结(基础)

本文深入探讨JavaScript中的函数参数特性、字符串处理方法及数组操作技巧。详细介绍了字符串的多种处理方式,包括substring与substr的区别、replace方法的多种用法;并解析了数组的特性和常用方法,如concat、join等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.函数参数问题

 

js中函数的参数是可变 的,例子:

 

function f(a){
  alert(a);
}

f("'a'",'b')

 

2.单引号与双引号的问题

 

function f(a){
  alert(a);
}

f("'a'",'b')

 

输出的值:‘a’

 

即:如果变量中包含" 或 ' 可以不用转义,直接用' 或 "引用

 

3.字符串

 

var s1 = "This is S1";

var s2 = new String("This is S2");

alert(s1[0] + s2[s2.length]);
 

即:字符可以作为特殊的数组使用

 

关于字符串函数可以参考: http://blog.youkuaiyun.com/cyai/archive/2009/05/25/4213956.aspx

 

关于substring与substr的区别:

 

substring
返回字符串的一个子串,传入参数是起始位置和结束位置

 

substr
返回字符串的一个子串,传入参数是起始位置和长度

 

关于replace方法:

 

1.忽略字母大小写

 

text = "javascript Tutorial";
text.replace(/javascript/i, "JavaScript");

 

2.替换所有(replaceAll)

 

name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'");

 

3.replacement 可以是字符串,也可以是函数。如果它是字符串,那么没有匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

字符替换文本
$1、$2、...、$99与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
$&与 regexp 相匹配的子串。
$`位于匹配子串左侧的文本。
$'位于匹配子串右侧的文本。
$$直接量符号。

注意: ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数 是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

 

name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
  return word.substring(0,1).toUpperCase()+word.substring(1);}
  );

 

 

4.数组

 

特殊:

 

1.js数组有别于其他语言的一个重要特点是,他可以在不同行包含不同的数据类型。

2.js数组不支持多维数组,可以在数组中包含数组,或者使用关联数组

 

方法与属性:

 

属性名称 使用说明
constructor 指定建立地象原型(prototype)函数
index 代表数组组件的索引值
input 代表规则表达式中的字符串。
length 取得数组长度(数组组件个数)。
prototype 用以建立自定义的对象属性
 
方法名称 使用说明
concat(数组1,数组2,...,数组N) 将多个数组结合成一个新的数组
join(分隔字符) 将数组结合成一个字符串,用特定字符来分开
pop() 将数组内最后一个组件删除,并返回该组件内容
push(组件1,组件2,...,组件N) 将一个或多个组件补在数组最后面,并返回最后一个组件内容
reverse() 将数组内所有组件的索引次序反转(Transpose)第一个组件变成最后一个,最后一个组件则拿到最前面
shift() 将数组内第一个组件删除,并返回该组件内容
slice(开始索引,结束索引) 将数组内容转入一个新的数杉
sort() 将数组内容排序
splice() 增加或删除数组组件
toSource() 返回代表特定数组的数组常数,可以用来建立新的数组
toString() 以字符串来表示该数组及其组件
unshift(组件1,组件2,...,组件N) 将一个或多个组件补在数组最前面,并返回最后数组长度
valueOf() 取得数组值 

 

对与Array对象,可以自己添加属性和方法,以增强其功能。如:

 

Array.prototype.del=function(n) {  //n表示第几项,从0开始算起。
//prototype 为对象原型,注意这里为对象增加自定义方法的方法。
  if(n<0)  //如果n<0,则不进行任何操作。
    return this;
  else
    return this.slice(0,n).concat(this.slice(n+1,this.length));
    /**//*
      concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
            这里就是返回 this.slice(0,n)/this.slice(n+1,this.length)
           组成的新数组,这中间,刚好少了第n项。
      slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
    */
}
//我们来试一试这个自己增加的方法
var test=new Array(0,1,2,3,4,5);
test=test.del(3);  //从0算起,这里也就是删除第4项。
alert(test);
 

注意:数组的删除操作

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值