replace(),indexOf(),substring(),split(),join(),——各种小知识点
1.replace ———— 实现去除指定字符串功能,可以用空字符串代替,也可以去新字符代替已有的字符。
var str="123_z.jpg";
str=str.replace("_z","");
console.log(str) //123.jpg
var str="admin#mary#jim";
console.log(str.replace(/#/g,",")); //admin,mary,jim 全局替换
2.indexOf() —— 可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1。
var str="123_z.jpg";
var newStr = str.indexOf("_z");
console.log(newStr); //
lastIndexOf() —— 可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索,同indexOf一样,如果检索的字符串没有出现,则该方法返回-1。
var str="Administrators";
console.log(str.lastIndexOf("s")); //
var str="Administrators";
console.log(str.lastIndexOf("2")); // -1
3.substring() —— 用于截取字符串中介于两个指定下标之间的字符。
语法:stringObject.substring(start,stop)
start : 必需;
stop : 可选,不填则默认为到结束位置;
substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
var str="123_z.jpg";
var newStr = str.substring(3);
console.log(newStr); // _z.jpg
substr() —— 可在字符串中抽取从 start 下标开始的指定数目的字符 substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来用
语法:stringObject.substr(start,length)
start:必需;如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。length:可选,不填则默认为到结束位置
4.split() —— 用于把一个字符串分割成字符串数组。
数据库(img)字段保存的数据类型是这样的:
/images/feedback/2016/11/03/201611031513169266_Z.jpg,/images/feedback/2016/11/03/201611031513169266.jpg|
/images/feedback/2016/11/03/201611031513169497_Z.jpg,/images/feedback/2016/11/03/201611031513169497.jpg|
/images/feedback/2016/11/03/201611031513169997_Z.jpg,/images/feedback/2016/11/03/201611031513169997.jpg|
/images/feedback/2016/11/03/201611031513207863_Z.jpg,/images/feedback/2016/11/03/201611031513207863.jpg
想要的效果:以"_Z"结尾的为压缩后的图片,没有"_Z"的则为原图,需要正常显示缩略图,点击缩略图的时候显示原图,于是乎:
var imgArr=img.split("|");//原图以及缩略图 将字符串分割成——>字符串数组
for(var i=0,len=imgArr.length;i<len;i++){
// 压缩的图片路径
contents+='<img src="'+imgsite+apiImgsite+imgArr[i].split(',')[0]+'" bigImg="'+imgsite+apiImgsite+imgArr[i].split(',')[1]+'" style="width: 150px;height: 100px;margin-left: 20px" onclick="openImg(this)">';
}
contents=contents+'</div>';
}
function openImg(me){
var bigImg = jQuery(me).attr("bigImg");//缩略图路径
window.open(bigImg);
}
之前,自己出现比较Low的bug就是:一直以为点击img标签的时候,只有src属性,而自己却不知道怎么通过"_Z"的路径得到原图的路径,也不知道给img标签添加另外一个自定义属性,于是就直接用replace()将其中的"_Z"替换掉,这样就被同事嘲笑很Low了,因为一旦保存在数据库的数据改成"_z"时,自己显示原图的目标就实现不了,经过大神同事的指点,就在里面添加一个"bigImg"属性,这样便可以实现点击缩略图看原图的效果了。
5.splice(index,len,[item]) —— 用来替换、删除、添加数组内某一个值或者几个值
index ——> 数组开始的下标 len ——> 替换/删除的长度 item —— > 替换的值,删除操作的话item值为空
如:arr = ["a","b","c","d"];
删除:
arr.splice(1,1) //['a','c','d'] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变 arr.splice(1,2) //['a','d'] 删除起始下标为1,长度为2的一个值,len设置的2
替换:
arr.splice(1,1,'ttt') //['a','ttt','c','d'] 替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1 arr.splice(1,2,'ttt') //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
添加:len设置为0,item为添加的值
arr.splice(1,0,'ttt') //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'
6.join() —— 用于把数组中的所有元素放入一个字符串 元素是通过指定的分隔符进行分隔的。
var arr = ["mary","bob","jim","sum"];
console.log(arr.join("-")); // mary-bob-jim-sum
replace(),indexOf(),substring(),split(),join(),——各种小知识点的更多相关文章
- Java学习过程中的总结的小知识点(长期更新)
Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...
- linux系统下用到的小知识点积累
preface:在ubuntu下做事情,在终端下执行一些命令.或者在vim里面做一些操作.自然而然须要用到一些小知识点,没有怎么系统地看<鸟哥的菜>,基本上是遇到了什么问题想要实现什么功能 ...
- 刚接触Linux,菜鸟必备的小知识点(一)
身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...
- 【转】HTML5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...
- AngularJS的小知识点
小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- html5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...
- [BS] 小知识点总结-05
[BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...
- 一个关于echo的小知识点
一个关于echo的小知识点 echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...
随机推荐
- [Effective Java]第八章 通用程序设计
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 测算Redis处理实际生产请求的QPS/TPS
测算Redis处理实际生产请求的QPS/TPS Benchmark工具 redis发布版本中自带了redis-benchmark性能测试工具; 示例: 使用50个并发连接,发出100000个请求,每个 ...
- Codeforces Round #286 (Div. 2) B. Mr. Kitayuta's Colorful Graph dfs
B. Mr. Kitayuta's Colorful Graph time limit per test 1 second memory limit per test 256 megabytes in ...
- JSP学习——语法
JSP模版元素 JSP表达式 JSP脚本片断 JSP注释JSP指令JSP标签 JSP内置对象如何查找JSP页面中的错误 1:JSP模版元素 : JSP页面中的HTML内容称之为JSP模版元素. JSP ...
- 解耦HTML、CSS和JavaScript
当前在互联网上,任何一个稍微复杂的网站或者应用程序都会包含许多HTML.CSS和JavaScript.随着互联网运用的发展以及我们对它的依赖性日益增加,设定一个关于组织和维护你的前端代码的计划是绝对需 ...
- (一)使用springAPI以及自定义类 实现AOP-aop编程
Spring的另一个重要思想是AOP,面向切面的编程,它提供了一种机制,可以在执行业务前后执行另外的代码,Servlet中的Filter就是一种AOP思想的体现,下面通过一个例子来感受一下. 假设我们 ...
- mysql 建立索引场合及索引使用
索引建立场合: ① where后边字段 适合建立索引 ② order by 排序字段适合建立索引 ③ 索引覆盖 即 所要查询的字段本身就是索引 直接在索引中查询数据. 例如 select name,a ...
- Android开发面试经——1.常见人事面试问题
Android开发(29) 版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 做为程序员,我们都是有梦想的人,有时候当我 ...
- JavaScript设计模式与开发实践 - 观察者模式
概述 观察者模式又叫发布 - 订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个目标对象(为了方便理解,以下将观察者对象叫做订阅者,将目标对象叫做 ...
- 腾讯云centos 7部署 dotnetcore+Angular2 实践
版权声明:本文由屈政斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/239 来源:腾云阁 https://www.qclo ...