js上 十八、字符串
十八、字符串
#18.1.认识字符串
#什么是字符串
字符串可以是引号中的任意文本。字符串可以由双引号(")或单引号(')表示 ,如 ‘hello’ , “中国”
#为什么
当我们需要对某些事物进行描述时,就需要用文本,如果不给文本加引号,它就成了非法字符。而且在实际开发过程中,我们会频繁的操作字符串;所以我们需要一些快捷的方法,来实现对字符串的操作
#18.2.创建字符串
ü 字面量方式
ü new方式
字面量方式:
直接使用引号引用即可。单双引号都行。
new方式
#18.3.字符串的基本操作
#字符串的length属性
语法:str.length
功能:表示字符串的长度,字符的个数
说明:字符串的长度只能获取不能设置;但数组的长度既可以获取,也可以设置;
#访问字符串中的字符 (索引即下标)
语法:str[下标]
功能:获取字符串中指定下标的字符
参数:下标从0开始;最大下标为str.length-1
#遍历字符串
注意:字符串一旦创建,任何的方法都不可以修改这个字符串;
#18.4.字符串的方法
#1.字符串的查找
#1.1.charAt()
功能:查找字符串中指定位置的字符;
语法:str.charAt(index);
参数:index表示位置(下标)
返回值:对应位置的字符;
#1.2.indexOf()
功能:查找目标值在字符串中的位置(从前往后找)
语法:str.indexOf(target,index);
参数:target:查找目标值 ,index:开始查找的位置
说明:index可以省略,如果省略默认从下标0开始找
返回值:找到返回下标,找不到返回-1
#1.3lastIndexOf()
功能:查找目标值在字符串中的位置(从后往前找)
语法:str.lastIndexOf(target,index); //从index位置开始向前找target
参数:target:查找目标值 ,index:开始查找的位置
说明:index可以省略,如果省略默认从最后一个下标开始向前找
返回值:找到返回下标,找不到返回-1
#2.字符串的截取
#slice()
功能:字符串的截取
语法:str.slice(start,end);
参数:start:开始截取的下标,end表示截取结束的下标(包含开始,不包含结束)
返回值:截取到的字符串;
说明:1)str.slice(start,end) //从start下标截取到end下标(不包含end)
2)str.slice(start); 从start下标开始一直截取到最后
3)str.slice();//全部截取
4)slice支持负值,负值可以从后往前数,找到对应的下标;
#substr()
语法:str.substr(start,count)
功能:从start下标开始,截取count个字符
参数:start:开始下标, **count: ** 截取的个数
返回值:截取到的字符串
说明:1)str.substr(start,count); //从start下标开始,截count个字符
2)str.substr(start);//从start下标开始一直截取到最后
3)str.substr();//全部截取
#substring();
语法:str.substring(start,end);
功能:从start下标开始截取到end下位;(不包含end);
返回值:截取到是字符串
说明:1)substring不支持负值,如果遇到负值或NaN直接转0
3)自动将小值作为开始下标,大值作为结束下边;
#3.字符串的合并 concat
语法:str1.concat(str2,str3,....);
功能:将多个字符串拼接一个新的字符串
返回值:返回一个新字符串
#4.字符串的替换 replace
语法:str.replace("被替换的字符","新替换字符");
功能:字符的替换
说明:只能替换第一个
#5.字符串大小写转换
#转大写 toUpperCase();
语法:str.toUpperCase();
功能:将小写字母转为大写
#转小写 toLowerCase();
语法:str.toLowerCase();
功能:将大写字符转小写
#6. 字符串的去前后导空格
语法:str.trim();
功能:去掉字符串前面和后面的空格
注意:中间的空格不能去掉
#7. 字符串转数组
语法:str.split(分隔符);
功能:将字符串转为数组;
#小结:
\1. 字符串的左右方法都不会修改原字符串
\2. 字符串和数组的公共方法:indexOf() lastIndexOf() slice() concat();
\3. 字符串转数组 split();
\4. 数组转字符串 join();
#作业:
1、 题目:var str='abc' 让字符串重复3遍,成为 str='abcabcabc'
思路:循环,拼接
2、题目:str='abc!123bd#e5&66';
//去掉字符串中的!、#、&字符,形成结果: 'abc123bde566 '
思路1:找到 !# & 的位置,然后截取 abc 123bd 等拼接
思路2:遍历字符,判断,拼接
3、题目:str='abc!123bd#e5&66';中 #之前的 所有数字[].
形成结果str='abc![1][2][3]bd#e5&66'
思路:将#前面的内容拿到,然后判断每一个字符,如果是数字,加上左右括号,否则字节拼接
4、题目:str = “I like learning javascript , I can”,截取字符串:先判断字符串中是否有javascript字符,如果没有res置为false,如果有则截取出javascript字符串
思路:第二个单词,是第一个空格和第二个空格之间的内容,所以找到两个位置,截取
第二个空格利用indexOf的第二个参数
5、题目:使用prompt弹出输入框,要求用户输入一个英文的语句,将输入语句的第二个单词截取出来 indexOf(target,index)
思路:利用indexOf判断是否存在,如果存在,利用substr截取
6、题目:补全代码题:给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 false。
function containsNumber(str){
//不全代码
}
思路:遍历,判断每一个字符,如果是数字,返回true
js上 十八、字符串的更多相关文章
- js上 十九、综合案例
十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...
- js上 十六、数组-2
十六.数组-2 #4.3万能法:splice(): #4.3.1.删除功能 语法:arr.splice(index,num); //num表示删除的长度 功能:从下标index位置开始,删除n ...
- js上 十四、对象
十四.对象 #1.初识对象 什么是对象? 在js中,一切皆是对象. 对象,生活中可见和不可见的东西,在世界中,客观存在的都是一个对象. 桌子,笔记本,手机,人. 在日常生活中,我们是如何来描述这个对象 ...
- js上 十五、数组-1
十五.数组-1 #1.什么是数组 组:由多个成员构成的一个集体. 数组:数组是值的有序集合 值就是前面所讲过的这些数据(各种数据类型的都可以) 是数组中,每一个值(如100,'js',true)都称之 ...
- selenium测试(Java)--执行JS(十八)
1. 操作滚动条 package com.test.js; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; ...
- js上 十二、函数初步-1
11-1.引入(认识函数) 引入: 说起函数,其实我们并不陌生,在初中数学中我们就接触过函数:例如我们所学的 y = 2X+1 ; 这是一个二元一次方程,也是我们数字中的函数: 当我们每次输入 ...
- js上 十、循环语句-1:
十.循环语句-1: 非常之重要. 作用:重复执行一段代码 ü while ü do...while ü for 它们的相同之处,都能够实现循环. 不同的地方,格式不一样,使用的场景略有不同. #10- ...
- Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer
Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer 目录 Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer 0x00 ...
- Bootstrap入门(二十八)JS插件5:工具提醒
Bootstrap入门(二十八)JS插件5:工具提醒 工具提示在使用过程中比较常见,但是实现起来有些麻烦,而bootstrap则很好地解决了这个问题. 我们来写一个简单的实例 先引入CSS文件和JS文 ...
随机推荐
- java~通过springloaded实现热部署
之前写过使用自定义的classLoader进行动态加载,热部署:它有很多弊端,我总结一下: 当前项目不能引用第三方包 当前项目必须使用反射的方式调用第三方包的方法 写死的一些路径 springload ...
- guitar pro系列教程(二十五):Guitar Pro教程之组织小节
上一章节我们讲述了关于Guitar Pro 7的主界面的相关功能的介绍,对于初学作曲,又是吉他的初学者,刚刚接触Guitar Pro时,很多的功能,符号,工具都市不熟悉的,这样在创作,使用的过程中就会 ...
- Linux中redis服务开启docker运行redis并设置密码
//查询目前可用的reids镜像 docker search redis //选择拉取官网的镜像 docker pull redis //查看本地是否有redis镜像 docker images // ...
- fastjson JSONObject简单使用
工作中用的蛮多的最近整理下,概括地说 通过这个工具可以让一个json在json串,JSONObject,java对象之间进行转化 首先我们先写2个bean来构成一个比较复杂的json串: public ...
- mfc 笔记
在类成员初始化时,使用另一个成员变量,必须满足,在.h声明时在另一个变量之后,初始 .hprivate: //K线图位置 CPoint m_KPoint; //十字光标位置 CPoint m_trac ...
- 色相偏移 HueShift ASE
色相偏移可以改变颜色色调,unity ASE没有参考UE4写个,原理很简单,将颜色向量绕(1,1,1)旋转,就可以得到不同色调的颜色. https://zhuanlan.zhihu.com/p/677 ...
- Java高薪训练营(对标阿里P7,限时分享)
某钩Java高薪训练营(部分,持续更新) 下载地址 防止网盘和谐多次补链修改,公众号回复「训练营」自提.
- 第8.29节 使用MethodType将Python __setattr__定义的实例方法与实例绑定
一. 引言 在<第7.14节Python类中的实例方法解析>介绍了使用"实例对象名.方法名 = MethodType(函数, 对象)"将动态定义的方法与实例进行绑定 在 ...
- PyQt(Python+Qt)学习随笔:QTreeWidget的columnCount属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件中的每个项有一个或多个文字标签或其他装饰符(如图标),这些内容每个显示为一列.QTreeWi ...
- OA公文流转系统(未完成)
基本页面比较多,所以就不贴出来了,具体的页面可以自行浏览. 点我进入OA系统浏览界面(未做响应式布局,需电脑端打开) 账号密码: 部门:bumen------bumen 办公室:bangongshi- ...