js中的extend()方法

621 阅读2分钟

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); 结果:1) “v”  2) 0 说明:substr有两个参数时,第一个参数表示从字符串的第几位开始截取,第二个参数表示截取多少位字符串。这点跟C#中字符截取相同的,所以在以后的使用中,如果想要避免出现截取的问题最好还是使用substr。

2 $.extend() 因为项目中有些地方看到有用到这个方法,当时也不知道是什么意思,见的多了就想了解一下。原来这个方法还是挺有用的,多用在编写插件,当然,它本身也有一些重载原型。也可是实现静态方法:

企业微信截图_16360984999013.png 说明: 以上的结果表明extend方法将所有的项都合并到了{}中,但是,细心一点就会发现,其中item1中的name:“Momo” 将item中的name:“olive”给覆盖了,这是怎么回事?请接着往下看。

2.3 extend(bool,{},item1,item2….)

Extend方法还有带bool型参数的重载。 bool型参数为true表示深拷贝,为false时表示浅拷贝。具体可以通过一下示例来说明:

企业微信截图_16360986538235.png

企业微信截图_16360987198531.png

企业微信截图_1636098756148.png 以上内容转载于http://www.360doc.com/content/18/0815/15/42377132_778477433.shtml