JavaScript的一些常见误区.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaScript的一些常见误区

接触JavaScript两年多遇到过各种错误,其中有一些让人防不胜防,原来对JavaScript的误会如此之深,仅以此文总结一下常见的各种想当然的误区。String replacestring的replace方法我们经常用,替换string中的某些字符,语法像这样子1string.replace(subStr/reg,replaceStr/function)第一个参数是要查找的字符串或者一个正则表达式,第二个参数是想替换成的字符串或一个方法,我们可以这么使用1Im Byron.replace(B,b) // Im byron记过和我们想得一样,但是1Im a student, and you?.replace(n,N); // Im a studeNt, and you?和我们预期的不一样,第二个‘n’没有被替换。字符串的 replace 方法如果第一个参数传入字符串,那么只有第一个匹配项会被替换。如果要替换全部匹配项,需要传入一个 RegExp 对象并指定其 global 属性。1Im a student, and you?.replace(/n/g,N); // Im a studeNt, aNd you?这样才可以达到我们目的,关于string replace方法详细使用可以看看JavaScript string 的replaceDate 对象我们可以这样构造一个Date对象1234new Date() //Date {Fri Aug 02 2013 16:50:33 GMT+0800 (China Standard Time)}new Date(milliseconds)? //Date {Fri Aug 02 2013 16:53:26 GMT+0800 (China Standard Time)}new Date(2013/08/02) //Date {Fri Aug 02 2013 00:00:00 GMT+0800 (China Standard Time)}new Date(year,month,day,hours,minutes,seconds,ms)前三种方式没有什么问题,但第四种得到的结果回合我们预期的不一致1new Date(2013,08,02)? //Date {Mon Sep 02 2013 00:00:00 GMT+0800 (China Standard Time)}我们可以看到,传入的月份是08,返回的结果却是九月。这是因为Date对象的月份是从0开始计数的(天却不是),即0代表一月,1代表二月…11代表12月。在调用Date实例的getMonth方法时尤其要注意12var d = new Date(2012, 4, 15);??????? // 2012年5月15日alert(d.getMonth());??????????? // 结果为4Date.parseDate.parse方法可以识别两种格式的字符串参数(标准的长日期格式,比如带星期的那种,也可以识别,不过不常用):1. “M/d/yyyy”: 美国的日期显示格式。如果年传入2位则作为 19xx 处理2.”yyyy-MM-dd” 或 “yyyy/MM/dd”: 注意月和日都必须是两位Date.parse 的返回结果不是一个Date对象,而是从1970-01-01午夜(GMT)到给定日期之间的毫秒数。可以用Date的构造函数将其转换为Date对象。123new Date(Date.parse(8/2/2012));??? // 正确识别为2012年8月2日new Date(Date.parse(2012-08-02));??? // 正确识别为2012年8月2日new Date(Date.parse(2012-8-2));??? // 不能识别for…in 遍历数组for…in用来遍历一个对象中的成员(属性,方法),如果用来遍历数组的到的结果并不是预期中数组每项的值,方法神马的会被遍历出来12345678910111213141516Atotype.contains = function(item) {for (var i = 0; i = this.length - 1; i++) {if(this[i] == item)return this[i];}}var staff = [ Staff A, Staff B ];// Normal Enumeration: Only the 2 items are enumeratedfor (var i = 0; i = staff.length - 1; i++) {var singleStaff = staff[i];alert(singleStaff);}// for...in

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档