javascript记录.docx
- 文档编号:26127160
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:46
- 大小:71.34KB
javascript记录.docx
《javascript记录.docx》由会员分享,可在线阅读,更多相关《javascript记录.docx(46页珍藏版)》请在冰豆网上搜索。
javascript记录
我的记录(javascript基础)
js中数组(Array)对象的Slice(start,[end])方法的使用说明
该Javascript示例解释:
这个示例用到了数组(Array)对象的Slice(start,[end])方法,该方法返回一个新数组,包含了源函数从start到end所指定的元素,但是不包括end元素,比如a.slice(0,3);
如果start为负,将它作为length+start处理,此处length为数组的长度,比如a.slice(-3,4),相当于a.slice(2,4)。
如果end为负,就将它作为length+end处理,此处length为数组的长度,比如a.slice(0,-1)。
如果省略end,那么slice方法将一直复制到源数组结尾,比如a.slice
(1)。
如果end出现在start之前,不复制任何元素到新数组中,比如a.slice(4,3)。
vara;
a=newArray("a","b","c","d","e");
document.write(a.slice(0,3)+"
");
document.write(a.slice(-3,4)+"
");
document.write(a.slice(0,-1)+"
");
document.write(a.slice
(1)+"
");
document.write(a.slice(4,3));
输出结果:
a,b,c
c,d
a,b,c,d
b,c,d,e
JS提供两个截取字符串的方法,分别是:
slice()和substring()
slice和substring都可以接受一个或两个参数,第1个参数是获取要截取的字符串的直始位置,第2个参数如果不为空则是获取要截取的字符串的结束位置的前一位(也就是说获取的终点位置不在返回值内),为空表示截取到整个字符串的最后一个字符。
我们来看下两种方法的用法
注意:
字符串的位数都是从0开始
varstmp="";
//使用一个参数
alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回""
alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回""
//使用两个参数
alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn"
alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn"
//如果只用一个参数并且为0的话,那么返回整个参数
alert(stmp.slice(0));//返回整个字符串
alert(stmp.substring(0));//返回整个字符串
//那如何只反回第一个字符呢,可以用其它的函数,那如果一定要用这两个方法的话就指定第一个参数为0,第二个参数为1,看下面的例子
alert(stmp.slice(0,1));//返回"r"
alert(stmp.substring(0,1));//返回"r"
//在上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子
alert(stmp.slice(2,-5));//返回"i"
alert(stmp.substring(2,-5));//返回"rc"
//从上面两个例子可以看出slice(2,-5)实际上是slice(2,3),负5转换成正3;而substring(2,-5)实际上是substring(2,0),负数转换为0,swubstring总是把最小的数作为起始位置。
JavaScript(JS)的indexOf和lastIndexOf函数全解析
JS中的indexOf和lastIndexOf是处理字符串的一个非常好用的函数,下面对它们的定义、用法、注意事项以及使用建议分别作介绍。
1、strObj.indexOf(subString[,startIndex])
功能:
返回源字符串内第一次出现指定子字符串的首个字符在源字符串中的索引值(源字符串内第n个字符的索引值为n-1),是整数。
参数含义:
strObj是源字符串,必选项。
subString是在源字符串对象中查找的子字符串,必选项。
startIndex是开始索引值,indexOf函数是从源字符串的索引值为startIndex的字符(即第startIndex+1个字符)开始查找,可选项。
省略时,从源字符串索引值为0的字符(即第1个字符)开始查找。
实例分析:
用法1(不指定startIndex值):
vari="".indexOfOf("a"):
则i=5
相当于vari="".indexOf("a",0)
用法2(指定startIndex值):
vari="".indexOf("a",6):
则i=8
提示:
可以用alert(i);语句测试结果,以下例子也一样。
注意事项
1)strObj既可以是字符串,也可以是字符串变量。
[例子]
strObj为字符串:
vari="".indexOf("."):
strObj为字符串变量:
varstr="";vari=str.indexOf(".");
2)subString不能为空字符串,如果为空字符串,返回值为0,但可以是空格。
[例子]
subString为空字符串:
vari="huoshandao".indexOf(""):
则i=0
subString为空格字符串:
vari="huoshandao".indexOf(""):
则i=3
3)第1个字符的startIndex值是0,是最小索引值;第2个字符的startIndex值是1;最后一个字符的startIndex值则是源字符串长度减1,是最大索引值。
4)如果没有找到子字符串,则返回-1。
[例子]
vari="".indexOf("huosan"):
则i=-1
5)如果startIndex是负数,则相当于startIndex等于0的情况。
如果它大于最大索引值,则相当于startIndex等于最大索引值的情况。
[例子]
startIndex为负数:
vari="".indexOf(".",-3);则i=10
与vari="".indexOf(".",0);结果一样
startIndex大于等于字符串长度:
vari="_".indexOf("_",16);则i=14
与vari="_".indexOf("_",14);结果一样
2、strObj.lastIndexOf(subString[,startIndex])
indexOf函数是从左向右查找,但实际应用中我们有时想得到从右向左出现某个字符或字符串的首个字符索引值,针对这种情况,JS给出另外一个函数lastIndexOf来解决这个问题,使用方法和indexOf相似,只是它从右向左查找而已,具体就不再重复,简单举几个例子,和indexOf作比较:
例1:
vari="".lastIndexOf(".");则i=10而vari="".indexOf(".");的i=3
例2:
vari="_".lastIndexOf("_",16);则i=-1而vari="_".indexOf("_",16);则i=14
3、使用建议
为了避免出乎意料的结果,除非有特殊用途,建议遵循以下原则:
1、startIndex为非负数,并且不大于最大索引值。
如果startIndex是变量,要先判断其值是否在这个范围内。
2、如果子字符串subString是变量的话,要先判断其是否为空再使用indexOf或lastIndexOf函数。
3、输入子字符串时要特别注意全角字符和半角字符的区别。
4、注意indexOf和lastIndexOf里面的大小写,JS对大小写非常敏感。
建议用Dreamweaver编程,如果函数名大小写写错的话,函数颜色是黑色,写对的话则会变成另外一种颜色。
以上实例均亲自测试通过,特此声明,有笔误之处欢迎指正!
JS中的getYear()在firefox下的问题
用了JS的getYear()方法,但是发现生成的代码竟然有108(本应该是2008),发现这是firefox下的问题。
然后google了一下,发现原来是这样的:
vartoday=newdate();varyear=today.getYear();在Firefox里面getYear返回的是"当前年份-1900"的值IE里面则:
当today的年份小于2000的时候,和firefox一样。
当today的年份大于等于2000的时候在返回的基础上额外加上1900如:
today年份是1999返回99(同firefox)today年份是2000返回100+1900=2000所以最好用getFullYeargetUTCFullYear去调用varyear=today.getFullYear();在IE,FireFox都适用。
如:
(js代码)
vartoday=newDate();
varfullyear=today.getFullYear();
varyear=today.getYear();
document.write(fullyear+"
");
document.write(year+"
");
结果:
2010
110
JavaScripttoExponential()方法
toExponential()方法可把对象的值转换成指数计数法。
语法:
NumberObject.toExponential(num)
num
必需。
规定指数计数法中的小数位数,是0~20之间的值,包括0和20,有些实现可以支持更大的数值范围。
如果省略了该参数,将使用尽可能多的数字。
返回值
返回NumberObject的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有num位数字。
该数字的小数部分将被舍入,必要时用0补足,以便它达到指定的长度。
抛出
当num太小或太大时抛出异常RangeError。
0~20之间的值不会引发该异常。
有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是Number时抛出TypeError异常。
实例
在本例中,我们将把一个数字转换为指数计数法:
Js代码
1.Show 10,000 as an exponential notation:
2.
Show10,000asanexponentialnotation:
varnum=newNumber(10000);
document.write(num.toExponential
(1))
输出:
Js代码
1.Show 10,000 as an exponential notation:
2.1.0e+4
Js的toString方法
toString方法
返回对象的字符串表示。
objectname.toString([radix])参数
objectname
必选项。
要得到字符串表示的对象。
radix
可选项。
指定将数字值转换为字符串时的进制。
如:
vara=11;
document.write(a.toString
(2)+"
");
document.write(a.toString(8)+"
");
document.write(a.toString(16)+"
");
输出:
1011
13
b
JS中的parseInt()函数
该函数的作用是:
返回由字符串转换得到的整数。
函数原型:
parseInt(numString,[radix])
参数:
numString——必选项。
要转换为数字的字符串。
radix——可选项。
在2和36之间的表示numString所保存数字的进制的值。
如果没有提供,则前缀为'0x'的字符串被当作十六进制;前缀为'0'的字符串被当作八进制;
所有其它字符串都被当作是十进制的。
说明:
parseInt方法返回与保存在numString中的数字值相等的整数。
如果numString的前缀不能解释为整数,则返回NaN(而不是数字)。
但如果是parseInt("08")或parseInt("09")则返回0;
原因:
其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;
如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
如果以1开头就以十进制,所以10以后就又是对的了
所以,在我们用时还是明确指定进位制,以防出错。
如:
document.write(parseInt("08",10)+"
");
document.write(parseInt("08")+"
");
输出:
8
0
JavaScriptparseFloat()函数
parseFloat()函数
定义和用法
parseFloat()函数可解析一个字符串,并返回一个浮点数。
语法
parseFloat(string)
参数
描述
string
必需。
要被解析的字符串。
返回值
返回解析后的数字。
提示和注释
注释:
只有字符串中的第一个数字会被返回。
注释:
开头和结尾的空格是允许的。
提示:
如果字符串的第一个字符不能被转换为数字,那么parseFloat()会返回NaN。
提示:
如果只想解析数字的整数部分,请使用parseInt()方法。
实例
在本例中,我们将使用parseFloat()来解析不同的字符串:
代码:
document.write(parseFloat("10"))
document.write(parseFloat("10.00"))
document.write(parseFloat("10.33"))
document.write(parseFloat("344566"))
document.write(parseFloat("60"))
document.write(parseFloat("40years"))
document.write(parseFloat("Hewas40"))
输出:
10
10
10.33
34
60
40
NaN
join函数使用方法介绍
数组对象本身提供了许多方法用于对象本身的操作,join是其中一个方法。
格式:
objArray.join(seperator)
用途:
以seperator指定的字符作为分隔符,将数组转换为字符串,当seperator为逗号时,其作用和toString()相同。
例子:
比如我们有个字符串"a","b","c"我们要输出为a,b,c这样的格式,那么我们可以这样:
vara=["a","b","c"];
document.write(a);
若使用join,那必须得这样:
vara=["a","b","c"].join(",");
document.write(a);
如果你说你要直接输出abc,而不输出a,b,c,那使用join再合适不过。
vara=["a","b","c"].join("");
document.write(a);
演示:
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http:
//www.w3.org/TR/html4/strict.dtd">
vara=["a","b","c"].join("");
document.write(a);
JavaScriptsplit()方法
定义和用法
split()方法用于把一个字符串分割成字符串数组。
语法
stringObject.split(separator,howmany)
参数
描述
separator
必需。
字符串或正则表达式,从该参数指定的地方分割stringObject。
howmany
可选。
该参数可指定返回的数组的最大长度。
如果设置了该参数,返回的子串不会多于这个参数指定的数组。
如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
返回值
一个字符串数组。
该数组是通过在separator指定的边界处将字符串stringObject分割成子串创建的。
返回的数组中的字串不包括separator自身。
但是,如果separator是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
提示和注释
注释:
如果把空字符串("")用作separator,那么stringObject中的每个字符之间都会被分割。
注释:
String.split()执行的操作与Array.join执行的操作是相反的。
实例
例子1
在本例中,我们将按照不同的方式来分割字符串:
varstr="Howareyoudoingtoday?
"
document.write(str.split("")+"
")
document.write(str.split("")+"
")
document.write(str.split("",3))
输出:
How,are,you,doing,today?
H,o,w,,a,r,e,,y,o,u,,d,o,i,n,g,,t,o,d,a,y,?
How,are,you
例子2
在本例中,我们将分割结构更为复杂的字符串:
"2:
3:
4:
5".split(":
")//将返回["2","3","4","5"]
"|a|b|c".split("|")//将返回["","a","b","c"]
例子3
使用下面的代码,可以把句子分割成单词:
varwords=sentence.split('')
或者使用正则表达式作为separator:
varwords=sentence.split(/\s+/)
例子4
如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:
"hello".split("")//可返回["h","e","l","l","o"]
若只需要返回一部分字符,请使用howmany参数:
"hello".split("",3)//可返回["h","e","l"]
JavaScriptreverse()方法
定义和用法
reverse()方法用于颠倒数组中元素的顺序。
语法
arrayObject.reverse()
提示和注释
注释:
该方法会改变原来的数组,而不会创建新的数组。
实例
在本例中,我们将创建一个数组,然后颠倒其元素的顺序:
vararr=newArray(3)
arr[0]="George"
arr[1]="John"
arr[2]="Thomas"
document.write(arr+"
")
document.write(arr.reverse())
输出:
George,John,Thomas
Thomas,John,George
另:
顺序问题
vara=["xhtml","css","javascript"];
varb=a.reverse();
document.write(a+"
");
document.write(b);
这个a显示的顺序怎么也颠倒了···
把document.write(a+"
");
放到varb=a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javascript 记录