JavaScript原生对象常用方法总结(推荐)_javascript技巧_第1页
JavaScript原生对象常用方法总结(推荐)_javascript技巧_第2页
JavaScript原生对象常用方法总结(推荐)_javascript技巧_第3页
JavaScript原生对象常用方法总结(推荐)_javascript技巧_第4页
JavaScript原生对象常用方法总结(推荐)_javascript技巧_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、javascript原生对象常用方法总结(推 荐)下面都是我学习w3c school教程中有关javascript写的学习笔记,每个方法我 都亲身测试过,每个方法的用途和参数列表,我都是在经过我亲身实践后加上了 我自己的一点理解,解释的还算比较详细。现记录下来,以便查阅:javascript 之 array 类:创建js数组两种方式:var arr =;或var arr = new array ();()里可以指定长度,也可以不指定,指不指定都无所谓,因为js里的数组长度是可变的concat (arrl, arr2, arr3arrx) : js数组合并,返回合并后的新数组,至少需要传递一个数

2、组,也可以传递多个数组var arrl = new array(3);arrl0二"george"arrl1 = "john"arr12二"thomas"arrl3 = "jccry"var arr2 二 new array (3);arr20 = "james"arr21二 adrew;arr22 = "martin"var arr3 二 new array (3);arr30 = "javet;arr3l = c#;arr32二 php;var arr4 二 a

3、rrl. coneat(arr2, arr3);alert (arr4);joino:将数组元索按指定的分隔符拼接成一字符串返回,默认分隔符为英文 逗号var arr 二 new array (3)arr0 = "george"arr1二 john;arr 2 = z,thomasz,;arr3 = jeery"arr. join( );sort (fn):数组排序,默认是按英文字母的asc码升序排列,比如apple排在 orange前而,其实sort还可以接收一个参数,该参数function类型,有点类似于java里的比较 器的意思,就是说如果不想按默认的比较规

4、则來排序,就必须提供一比较函数,该函数冇两 个参数3、b,如果返回值小于0,则3排在b前而 如果返回值大于0,则b排在a前面如果返回值等于0,则3、b位置不变var arr 二 new array (6);arr0 = 5;arr 1 = 23;arr 2 = 4;arr3 = 18;arr4 = 88;arr 5 = 10;arr sort(sortnumber);function sortnumber(a, b)return a - b;ipop ():删除数组的最后一个元素,把数组长度减1,并且返冋它删除的元素的 值。如果数组已经为空,则pop()不改变数组,并返回undefined值。

5、var arr = new array(6);arr0二 5;arrl = 23;arr 2 = 4;arr3 = 18;arr4 = 88;arr5二 10;var a = arr. pop ();alert (a);for (var x in arr) alert (arrx);)push(nl, n2, n3,. . . . nx):向数组末尾添加一个或多个元素,并返回添加后数组的 长度,注意,此方法操作的是原数组对彖,不会创建副本。此方法可以接收多个参数,至少要传递一个参数var arr = new array(6);arr0二 5;arr 1 = 23;arr 2 = 4;arr3

6、= 18;arr4 = 88;arr5二 10;var len = arr. push(44, 80);alert(len);for (var x in arr)alert(arrx);reverse ():颠倒数组中元素的顺序,即如果原來数组元素是1, 2, 3, 4, 5,调用 reverse ()后,元素顺序为5, 4, 3, 2, 1,注意,此方法直接操作的是原数组对彖,不会创建副本。var arr 二3, 5, 11, 6, 90, 0;arr reverse ();for (var x in arr) alert (arrx);shift ():删除数组的第一个元素,并返冋它删除的

7、那个元素如果数组已经为空,则shift ()不改变数组,并返冋undefined值注意,此方法直接操作的是原数组,不会创建副本对象var arr = 3, 5, 11, 6, 90, 0;var a 二 arr. shift();alert (a);for (var x in arr) alert(arrx);islice (start, end):用于截取start和end之间的数组元素并存入新数组返冋 注意,此方法不会修改原数组,会创建数组副木对象。如果end未指定,则表示直接从start直到数组末尾,如果start或end为负数,表示从后面开始算起,比如-1,表示从倒数第一个元素算起,以

8、此类推。截取的区间范围是start, end),前闭后开区间,且start必须小于end如果没找到一个元素,则返回一个空数组即数组的长度为0var arr = 3, 5, 11, 6, 90, 0;var a 二 arr. slice(2, 4);alert (a join();splice (index, howmany, elementl, elementx):用于删除从index处开始的零个或多个元素,并且用参数列表屮声明的一个或多个值來替换那些被删除的元素,并返冋刚刚删除的元素组成的新数组。注意:此方法是直接操作的原数组对象,不会创建对象副木第一个参数:表示从index位置开始删除,i

9、ndex从零开始计算第二个参数:表示从index位置开始,往后连续删除儿个元素,前两个参数是必 需的,后面的参数是可选的。后面的参数是用添加的元索,添加的元索从index处开始添加,如果后面添加的 元素个数大于实际删除的元素个数,多出几个,后而的元素就往后移动几位。比如你实际删除 了 4个元素,而实际你后面添加了 6个元素,那最终会从index处开始添加6个元素,由于前 面只删除4个元素,位置不够,所以后面的元素会口动往后移动2位。var arr = 3, 5, 11, 6, 90, 0, 15, 57, 70, 20;var a 二 arr. spl ice(0, 4, 1, 2, 3, 4

10、, 5, 6);alert (a);for (var x in arr) alert (arrx);unshift (elementl, element):向数组开头添加一个或多个元素,并返冋添加后的数组长度。至少要传一个参数。注意此方法是直接操作原数组,最后添加的元索index二0,以此类推。var arr = 3, 5, 11, 6, 90, 0, 15, 57, 70, 20;arr. unshift (22, 23, 24);alert(arr. tostringo);alert (arr. length);扩展array的函数:array, prototype, indexof 二

11、function(o)for(var i = 0,len=this. length; i<len;i+)if (thisi = o) return i;) return -1;atotype, remove 二 function(o) var indcx = thisindcxof(o);if (index != -1) this. splice(index, 1);)return this;)var arr = 3, 5, 11, 6, 90, 0, 15, 57, 70, 20;arr. remove (90);alert (arr tostring();alert(

12、arr. length);js中number类常用方法:tofixedo:将数字四舍五入为指定小数位数的数字,参数值范围为0,20,表示 四舍五入后保留的小数位数,如果没冇传入参数,默认参数值等于0var num 二 12.5563;alert (num tofixcd ();alert(num. tofixed (2);toprecisiono:用于将数字精确到指定长度,方法接收参数一个参数,参数的 范围为0,21 参数表示数字的位数,如杲数字总位数大于参数值且数字是小数,那么会进行 四舍五入,如果数字总位数小于参数值r数字是小数,那么多出的小数位会自动 补零如果数字总位数小于参数值月数字为

13、整数,那么会改用科学计数法表示。var numl = 100009;var num2 = 100;var num3 = 11111111.00009;var num4 = 1.00609;alert (num1. toprecision(5);alert(num2. toprecision(5);alert (num3. toprecision(15);alert(num4. toprecision(3);isnan(num):判断是否为数字,这个方法很有用js中string类常用方法:charat (index):用于返回指定位置的字符,index从0开始计算charcodcat (inde

14、x):用丁返回指定字符的ascii码concat (elementl, element2elementx):用于拼接两个或多个字符串indexofo :用于返冋指定字符在字符串中第一次出现的索引,从第一个字符开始 查找,找到立即返回。lasttndexofo :用于返回指定字符在字符串中第一次出现的索引,不过是从最后 面一个字符开始杳找。match():用于检索与指定正则匹配的子串,如果开启了全局检索模式,冃冇多个 符合条件的子串,那么返回的是一个数组。var str = "hello world! how arc you? what arc you doing?"var

15、arr = str. match(/you/g);alert (arr);var str二1 plus 2 equal 3alert (str. match (/ds/g);replace():用于字符串替换操作,接收两个参数。第一个参数:表示待替换的字符串,或者是替换的正则表达式第二个参数:替换文本,也可以是一个function的返回值注意此方法不会改变原字符串对象,而是返回新字符串对象。var str 二 like java, java is so easy to learning!let" s together for java"var test = str. rep

16、lace (/java/g, javascript'7);alert(str);alert (tcst);var name 二 doe , john"alert (name, replace (/ (w+) s*, s*(w+)/, $2 | $1);var name 二 i like java, java is so easy!z,;var test = name, replace(/java/g, function(m, i) alert(m) ;alert(i) ;retu rn "javascript");alert (tcst);用functio

17、n返凹值作为替换文本时,function里冇两个参数:ib表示前而第一个参数即正则匹配到的子串,第二个参数是该子串在原字符串屮 的索引位置search ():用于返回指定子串或符合指定正则表达式的子串在原字符串中第一次 出现的索引,如果没冇找到,则返回-1var str = "i like javascript";alert (str search("javascript");si ice (start, end):用于截取start, end指定区间内的字符串并返回,此方法不会操作原字符串对象数据,而是创建字符串副本保存截取后的字符串数 据如果end未

18、指定,则表示直接从start直到数组末尾,如果start或end为负数,表示从后面开始算起,比如-1,表示从倒数第一个元素算起,以此类推。截取的区间范围是start, end),前闭后开区间,且start必须小于end如果没找到一个元素,则返回一个空字符串var str 二"hello world!;var test = str. slice(-2, -1);alert (test);alert(str);splito:以指定的分割字符或止则表达式的匹配字符來分割原字符吊,返回结杲 以数组形式表示。此方法还可以接收第二个参数,第二个参数可以限制最终返回的数组元素最大个 数。var s

19、ir二how are you doing today?"alert (str.split (/s/);substr():用于字符串截取,方法接收两个参数,第一个参数start,表示从start索引位置开始截取,索引从0开始计算,如果 此参数值是负数, 则会从字符串结尾开始计算,比如-1表示最后一个字符,-2表示倒数第二个字 符,以此类推。第二个参数length,表示截取的字符串长度,此参数为口j选,如不指定此参数,则默认会一直截取到字符吊结尾。注意:此方法已不建议使用var str = "i like javascript!/z;alert (str. substr (7,

20、 10);substring():用于截取start与end索引区间内的字符吊,区间范围为 start, end,前闭后开注意:参数start和end必须为非负整数,如start为负数,则默认会将start赋值为0,如end为负数,则默认会将end赋值为0,且截取区间改为0, start)。如果start大于end,那么会首先交换两个参数值的位置,即区间改为 end,start)var strl 二"i 1 ike javascript!":alert(stri. substring(7, 18);var str、2 二 i like javascript!;alert(s

21、tr2 substring(3,-3);tolowercase ():把字符串转换成小写 touppcrcasco :把字符吊转换成大写js中date对象常用方法:dateo :此方法为date类的构造函数,此方法接收fl期格式字符串,若不给构造函数传参,则默认是取系统当丽时间构造函数可以接收一个距1970-01-01的毫秒数來构建date对象,/var /var /var /var /var /var /var /var /var /var /var也可以接收规定格式的日期字符串来构建date对象/var date = new date (z,06 05,1987); /火狐 okdate

22、二date 二date =date =date =date 二date 二date =date =date =date 二ie 不 0knew new new new new new new new new new newdatec6 5, 1987);/火狐 ok ie 不 okdate f06 05, 1987 23:12:33); 火狐 okdate(6 5, 1987 23:12:33);/火狐 okdate c1987, 06 05"); 火狐 ok ie 不 okdate c1987, 6 5); /火狐 ok ie 不 okdate ("1987,06, 05

23、,z) ; /火狐 ok ie 不 okdate f 1987, 6, 5z,); 火狐 ok ie 不 okdate c1987, 06 05,23:12:33); /火狐 okie 不 okie 不 okie 不 0kdate ("1987, 6 5,23:12:33); 火狐 ok ie 不 okdate c1987, 06, 05, 23:12:33,z) ; /火狐 ok ie 不 okdate (1987, 6, 5,23:12:33); /火狐 ok ie 不 okok/var/var/var/var/var/vardate = new date = new date

24、二 new date = new date 二 new date = new/var date 二 new date c1987/6/5, 23:12:33") ; /火狐和 ie 都date (z,1987/06/05, 23:12:33) ; /火狐和 ie 都 okdatec06/05/1987, 23:12:33); /火狐和 ie 都 okdatec6/5/1987, 23:12:33); /火狐和 ie 都 okdate ( 1987/6/5) ; /火狐和 te 都 okdate ("1987/06/05") ; /火狐和 ie 都 okdatec0

25、6/05/1987z,) ; /火狐和 ie 都 okvar date = new date (6/5/1987); /火狐和 ie 都 ok/var date = new date (06-05-1987); /ie ok,火狐不 ok/var date 二 new date(6-5t987); /ie ok,火狐不 ok /var date = new date ("1987-06-05); /火狐 ok, ie 不 ok alert (date);通过上面这些示例,足以说明,如果dateo构造函数需要接收一个日期 格式字符串的话,那么字符串格式应如下给定:yyyy/m/dyyy

26、y/mm/dyyyy/m/d hh:mm:ss yyyy/mm/dssm/d/yyyymm/dd/yyyy m/d/yyyy hh:mm:ss mm/dd/yyyy hh:mm:ssgetdateo :返回一个月屮的某一天,返回值范围:1-31getdayo:返冋一周中的第儿天也就是星期儿,返冋值范围:0-6, 0表示星期天, 6表示星期六getmontho:返回fl期中的月份数字,返回值范围:0-11, 0表示1月,11表示 12月,这个有点变态gctfullycaro:返回日期中的年份数字,用4位数字表示而不是2位数字的缩 写形式gethours ():返冋小时数,返冋值范围:0-23 g

27、etminutes ():返冋分钟数:返回值范围:0 -59 getseconds ():返回秒数,返回值范围:0-59 gctm订liseconds ():返回毫秒数,返回值范围:0-999,这个方法命名我表示不 能理解,为何seconds首字母不大写?gettimeo:返回指定的日期距1970年1月1 0 00: 00: 00之间的毫秒数。 parse():用于将符合规定的日期字符串转换成日期,并返回该日期至 1970-01-01的毫秒数而应该使用date类调用。注意:此方法是静态方法,不用能用date对彖调用,/var date = date, parse (z,1987-06-05,z

28、) ; /火狐 ok, ie 不 ok/var date = date, parse (06-05-1987); /ie ok,火狐不 ok/var date 二 date, parse (06/05/1987); /ie 和火狐都 ok /var date = date, parse (,6/5/1987,/) ; /ie 和火狐都 ok /var date = date, parse ("1987/6/5); /ie 和火狐都 okvar date =date, parse("1987/06/05");/ie和火狐都ok/var date = date, pa

29、rsec1987/06/05 23:12:22); /ie 和火狐都 ok/var date 二 date, parsec6/5/1987 23:12:22); /ie 和火狐都 ok /var date = date, parse (,z 1987/6/5 23:12:22);/ie 和火狐都 ok alert(date);通过上而的这些示例,不难看出,parse方法接收的h期字符串格式比较兼容的 格式为:yyyy/mm/dd yyyy/m/dmm/dd/yyyym/d/yyyy yyyy/mm/dd hh:mm:ss yyyy/m/dssmm/dd/yyyy hh:mm:ss m/d/yy

30、yy illknim: ss setdateo :设置一个刀中的某一天,取值范围:1-31setdayo:设置一周屮的第几天也就是星期几,取值范围:0-6, 0表示星期天, 6表示星期六sctmontho:设置日期中的月份数字,取值范围:0-11, 0表示1月,11表示12 月,这个冇点变态setfullyearo:设置日期中的年份数字,用4位数字表示而不是2位数字的缩 写形式sethourso:设置小吋数,取值范围:0-23 setminutes ():设置分钟数:取值范围:0 -59 sctsccondso :设置秒数,取值范围:0-59 sctm订liseconds ():设置毫秒数,取

31、值范围:0-999,这个方法命名我表示不能 理解,为何seconds首字母不大写?settimeo:设置指定的日期距1970年1月1 0 00: 00: 00之间的毫秒数。tostringo :将date对象转换成字符串形式,默认是格林威治标准时间格式即 gmt格式totimestring():将date对象的时间部分转成字符串形式,gmt格式 todatestringo :将date对彖的日期部分转成字符串形式,gmt格式 tolocalestring:根据本地语言的日期规则表示,中文下是yyyy年mm月dd日 hh:mm:ssdate. utc(5rcar, month, day, hou

32、rs, minutcs,seconds,ms):此方法用于根据世界时返回距离1970-01-01的毫秒数,前3个参数是必须的, 其余参数是可选的,分别表示年、月、日、小时、分钟、秒、毫秒,此方法返冋的毫秒数可以传递给dateo构造函数,date对象的tostring方法默认是转换成gmt格式,对于我们来说,不适用,我 们往往希望显示为yyyy-mm-dd hh:mm: ss格式,dale原生对象没有提供这个功能,只好自己扩展了,date. prototypc. fornieit = function(fornieit) var o = : this.getmonth()+1, /month 月

33、: this. getdate(), /day hh+ : this.gethours(), /hour 吋: this.gctminutcs(), /minute 分"s+" : this. getseconds (), /second 秒q+ : math, floor (this. getmonth ()+3)/3), /quarter 季度"s" : this. getmilliseconds() /millisecond 毫秒 if (/ (y+) /. test (format) format = format, replace (regex

34、p. $1, (this. getfullyear ()+/,z). substr (4 - regexp. $1. length);)for(var k in o) if (new regexp (+ k +") test (format) format 二 format, replace(regexp. $1, regexp.$1.length二二1 ? ok : (00 + ok)substr(+ ok). length);ircturn fonnat;使用示例:var date 二 new date ();alert (date forniqt ("yyyy-mm-

35、dd hh:mni: ss);js的原生date类也没冇捉供add方法即在原h期基础先添加或减去指定天数, 现扩展如下:date, prototype. dateadd = function(interval, number)var d 二 this;var k二' y' :, fullyear, q' :' month', m' :' month', w' :, date', d' :' dat c', ' h' hours', ' n' :'

36、; minut cs', ' s' :' seco nds', ' ms' :' mil liseco nds'var n=,q' :3, ' w' :7;eval (' d. set' +kinterval+,(d. get' +kinterval+,()+' +(ninterval | | 1) number) +')');return d;interval 参数:y q m d w h n s ms年 季度 月h 周 小时 分钟 秒 毫秒numb

37、er参数:时间间隔,必须为数字,为正数表示获取指定间隔的未来的口期, 为负数表示过去的fi期 用于计算两个日期z间的时间间隔,使用此方法还能比较两个日期的大小,如果返回值大于0,表示objdate2比 较大,/如果小于0,表示objdate2比较小date, prototype. datediff = function(interval,objdate2)var d=this, i二, t=d. gettime(), t2=objdate2. gettimeo ;i ' y' =objdate2. getfullyear ()-d. getfullycar ();i f q'二i' y' *4+math floor (objdate2. getmonth () /4) -math, floor (d. getmon th() /4);i ' m'二i ' y' *12+objdate2 getmonth () -d. getmonth ();i ' ms' =objdatc2 get time () 一d. get time ();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论