全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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,addressprovice:”河南”,city:”郑州”;var item1=sex:”girl”,addresscity:”北京”;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中的属性不同时,会与item进行合并。当参数为false时,子项item1中的子项中与item中的子项属性相同时,item1中子项的属性值会将item中的值给完全覆盖。2.4 $.extend(item)该方法是将item合并到Jquery的全局对象中去,相当于为Jquery全局对象添加了一个静态方法(对应这里的静态方法,当然还有实例方法,在后边有介绍)。 示例: $.extend(SayHello:function(value)alert(“hello “+value);); 这样写过之后,就可以直接调用SayHello方法: $.SayHello(“Olive”); 说明:该方法相当于为Jquery类添加了新的方法。2.5 $.fn.extend(item)上边提到的$.extend(item)说是为Jquery类添加了静态方法,那么这里的$.fn.extend(item)就是为每一个实例添加一个实例方法了。 示例: $.fn.extend(hello:function(value)alert(“hello “+value);); 这样写过之后,在获取每一个示例之后,都可以调用该方法: $(“#id”).hello(“Olive”);3.(function($).)(jQuery)初次看到这种写法时,一头雾水,不知所云。在网上查找了一些资料之后才有点明白。我们先看第一个括号里边的内容:function($).,这不就是一个匿名的函数吗?但是它的形参比较奇怪,是$,这里主要是为了不与其它的库冲突。这样我们就比较容易理解第一个括号内的内容就是定义了一个匿名函数,我们在调用函数的时候,都是函数名后边加上括号以及实参,但是由于操作符的优先级我们定义的匿名函数也需要用()括起来。现在我想大家已经很清楚这句话是什么意思了吧。第一个括号表示定义了一个匿名函数,然后第二个函数表示为该函数传递的参数,整个结合起来意思就是,定义了一个匿名函数,然后又调用该函数,该函数的实参为jQuery。相当于:function fun($);fun(jQuery);这种方法多用于存放开发的插件,执行其中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省白城市大安市第二中学2026届高一下数学期末考试试题含解析
- 齿轮厂半成品转运制度
- 华为员工职业发展路径
- 2026届安徽省安庆二中、天成中学高一下数学期末统考模拟试题含解析
- 2025年建筑行业绿色建筑能效提升方案报告
- XX中学2025-2026学年春季学期校园双减工作实施方案
- XX中学2026年春季学期音体美教研组工作计划及活动安排
- 医学人文视角下的健康公平
- 广西钦州市第四中学2026届高一生物第二学期期末联考试题含解析
- 2026年小学学科基地建设方案
- 房地产市场报告-印度尼西亚经济及地产市场简介 202411
- 《七律二首 送瘟神》教案- 2023-2024学年高教版(2023)中职语文职业模块
- NB∕T 32015-2013 分布式电源接入配电网技术规定
- 环境微生物学教学课件-绪论-环境工程微生物学
- 郑州大学结构力学
- DB15T 557-2013人工灌木林主要树种平茬复壮技术规程
- 人教小学数学四年级下册第二单元第3课时《单元综合复习》示范公开课PPT教学课件
- 暗挖电力隧道工程安全专项监理实施细则
- 2015年9月26日雅思阅读考情回顾
- JJG 814-2015自动电位滴定仪
- 诊断学完整教案
评论
0/150
提交评论