当前位置:网站首页>js基础知识整理之 —— 字符串
js基础知识整理之 —— 字符串
2022-08-02 22:49:00 【猴小七儿】
JS任何事物都可以看成对象
字符串 String这种数据类型
单引双引号包起来的都属于字符串(String)
String类 这是我们面向对象概念;无论基本数据还是引用数据都属于object的类;
字符串属于String这个大类,在String类的protoType的这个属性上,存在着一个对象(protoType值是一个对象 ),在这个对象上存在一些属性,属性对应的值是一些函数方法,这些方法都是公有的,属于这个类的对象都能调用;
1、charAt 根据索引查找字符串var str="abcdefghigklmnopqrstuvwxyz" 字符串也可以通过索引访问具体位置的字符console.log(str.charAt(0));//--->a 将查找到的字符串作为方法的返回值返回
2、charCodeAt 也是根据索引查找的指定位置的字符
但是他返回的是当前字符unicode编码ASCII编码值;
3、substr(n,m) 查找字符串,从索引n开始,查找m个
会将找到的字符返回,字符串格式;
substr() 不填参数的时候,返回的是整个字符串,相当于复制;substr(0) 只填一个参数的时候,从当前索引位置,一直找到末尾,将找到的字符返回;console.log(str.substr(-3,3));//--->xyz
如果索引传一个负数,就是索引从末尾开始依次向左进行(就是从倒数第一个开始)
4、subString(a,b) 查找我们字符串,从索引a处,到索引b处之前
查找到的结果不包含b处字符;返回值也是查找的结果;
str.substring(0,str.length-1) "abcdefghigklmnopqrstuvwxy"
str.substring(0,str.length) "abcdefghigklmnopqrstuvwxyz"
console.log(str.substring(1)); "bcdefghigklmnopqrstuvwxyz"
不支持传负数
5、slice(n,m) 从索引n到索引m处之前, 不包含m
因为不包含m 所以 如果我想找z 要找到z的后一项 也就是str.length 就能打印出整个字符串
它跟subString的用法一样,区别是,slice可以支持负数索引;
负数索引是从-1开始的,我们查找的顺序,是从左到右;
-25是b -26是a
要保证m值比n值大 str.slice(5,4)----> " "否则会返回一个空字符串abcdefghigklmnopqrstuvwxyz--->str.slice(-5,-2)--->"vwx" 查找顺序从左到右;找到-5 再查两个
str.slice(2,-5) 一正一负的情况,我们可以把负数转化成整数索引(负数索引+str的length)都转化成正数时候也要求后一个参数m比前一个n大;
6、replace字符串的替换
str.replace(字符串原有字符,替换的新字符)
str.replace("a","木")
console.log(str.replace("a", "木").replace("a", "木").replace("a", "木").replace("a", "木"));
//--->木b木cde木fg木higklmnopqrstuvwxyz
// 通过链式写法,重复调用replace替换
replace配合我们正则匹配使用
console.log(str.replace(/a/g, "正则"));
//-->正则b正则cde正则fg正则higklmnopqrstuvwxyz
// g是全局匹配 i区分大小写
7、indexOf lastIndexOf 找到字符出现位置索引
证明是否包含,返回的是找到的第一个索引
console.log(str.lastIndexOf("a"));//--->9
8、split() 字符串拆分成数组
split("@")以指定的字符为分隔点,将字符串分隔成数组
var str="abcd";
console.log(str.split());//---> ["abcd"]
console.log(str.split(""));//---> ["a", "b", "c", "d"]
传一个空字符串的时候,我们会将字符串中每一个字符都拆分成数组的一项;
var str="a#b#c#d";
console.log(str.split("#"));//---> ["a", "b", "c", "d"]
边栏推荐
猜你喜欢

测试人生 | 阿里实习 90 天:从实习生的视角谈谈个人成长

The CTF command execution subject their thinking

PHP实现登录失败三次需要输入验证码需求

Technology Sharing | How to do assertion verification for xml format in interface automation testing?

用了 TCP 协议,数据一定不会丢吗?

技术分享 | 接口自动化测试中如何对xml 格式做断言验证?

CentOS7 安装MySQL 图文详细教程

mPEG-Cholesterol,mPEG-CLS,甲氧基-聚乙二醇-胆固醇可用于脂质体制备

合并两个excel表格工具

反弹shell原理与实现
随机推荐
IDEA 重复代码的黄色波浪线取消设置
用大白话解释“什么是ERP?” 看完这篇就全明白了
Rasa 3.x 学习系列- Rasa - Issues 4792 socket debug logs clog up debug feed学习笔记
Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth
AcWing 2983. 玩具
Strict feedback nonlinear systems based on event trigger preset since the immunity of finite time tracking control
threejs 动态调整相机位置,使相机正好能看到对象
21天学习挑战赛(1)设备树的由来
IDO代币预售合约系统开发技术详细
Jmeter secondary development to realize rsa encryption
执子手,到永恒
Week 7 - Distributional Representations(分布表示)
一个很少见但很有用的SQL功能
Unity WallFxPack使用
RuoYi-App Startup Tutorial
无代码开发平台表单样式设置步骤入门课程
图像识别从零写出dnf脚本关键要点
centos7安装mysql5.7步骤(图解版)
语音合成模型小抄(1)
在软件测试行业近20年的我,再来和大家谈谈今日的软件测试