- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
javascript经验总结
1.??? JS中substring与substr的区别之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的。这样就直接按照在C#中使用Substring的方式,直接在js中用了substring,在实际的项目中,有时候能得到正确的结果,但是有时候得到的结果却让人匪夷所思,后来仔细的调试跟踪之后才发现,原来是Js中substring的方法跟C#中的Substring方法不一样。关于C# 中的字符串截取方法已经很简单了,这里就不再叙述了。主要讲一个js中的substring方法,顺便再讲一下substr方法。Substring:该方法可以有一个参数也可以有两个参数。l? 一个参数:示例: var str=“Olive”;?????????? ????str.substring(3);??????? 结果:“ve”??????? 说明:当substring只有一个参数时,参数表示从字符串的第几位开始截取,直截取到字符串结尾。l? 两个参数:??????? 示例:var str=“Olive”;1)?????? Str.substring(3,4);2)?????? Str.substring(3,2);?????????? 结果:1) “v”? 2) 0?????????? 说明:当substring有两个参数时,第一个参数表示从字符串的第几位开始截取,第二个参数表示截取到字符串的第几位。这点是个C#中字符截取不同的一点,所以才会导致不同的结果。Substr:该方法也可以有一个或两个参数。l? 一个参数:??? 说明:substr一个参数时,作用跟substring方法一个参数时一样。l? 两个参数:??? 示例:var str=“Olive”;1)?????? Str.substr(3,2);2)?????? Str.substr(3,4);??????? 结果:1) “ve” 2) “ve”??????? 说明:substr有两个参数时,第一个参数表示从字符串的第几位开始截取,第二个参数表示截取多少位字符串。这点跟C#中字符截取相同的,所以在以后的使用中,如果想要避免出现截取的问题最好还是使用substr。2 $.extend()因为项目中有些地方看到有用到这个方法,当时也不知道是什么意思,见的多了就想了解一下。原来这个方法还是挺有用的,多用在编写插件,当然,它本身也有一些重载原型。2.1 extend(result,item1,item2…..)这里这个方法主要用来合并,将所有的参数项都合并result中,并返回result,但是这样就会破坏result的结构。2.2 extend({},item1,item2,……)用这个方法,可以将所得的结果全部合并在{}中,并返回,而且还不会破坏原有的项的结构。示例:Var item={name:”olive”,age:23};Var item1={name:”Momo”,sex:”gril”};Var result=$.extend({},item,item1);结果:Result={name:”Momo”,age:23,sex:”gril”};说明:以上的结果表明extend方法将所有的项都合并到了{}中,但是,细心一点就会发现,其中item1中的name:“Momo” 将item中的name:“olive”给覆盖了,这是怎么回事?请接着往下看。2.3 extend(bool,{},item1,item2….)Extend方法还有带bool型参数的重载。bool型参数为true表示深拷贝,为false时表示浅拷贝。具体可以通过一下示例来说明:示例:var item={name:“olive”,age:23,address{provice:”河南”,city:”郑州”}};var item1={sex:”girl”,address{city:”北京”}};var result=$.extend(true,item,item1);var result1=$.extend(false,item,item1);结果:Result={name:“olive”,age:23,sex:”gril”,address:{provice:”河南”,city:”北京”}};Result1={name:“olive”,age:23,sex:”gril”,address:{ city:”北京”}};说明:以上结果说明,当参数为ture时,即为深拷贝,当子项item1中的子项有与item中的子项相同属性的值不一样时,item1中子项的值会将item子项中的值给覆盖,当子项item1的属性跟item中的属性不同时,会与ite
文档评论(0)