前言:本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享。不足之处也欢迎指正,作者会积极思考与改正。

定义:

两种方法,存在一点点区别。new方法定义出来的是对象,方法2是字符串,但使用上没多大区别,后台会自动将字符串转化为对象,因此也可以使用对象的方法。

			// 方法1
let str=new String("abc");
console.log(str.toString(),typeof str);//输出abc Object // 方法2
let str2="abc";
console.log(str2,typeof str2);//输出abc string

字符串的连接:

// 连接字符串
let a=200;
// 方法1 加号相连
let str1="abc"+"efg"+a; // 方法2模板自变量 所谓模板自变量既用符号 `内容${变量名}` 将内容包裹 符号位于键盘esc下方按键处
let str2=`abcefg${a}`; console.log(str1,str2);//abcefg200 abcefg200

标签模板的使用:

所谓标签模板,就是会将字符串分为字符串部分,变量部分,全部字符串的一个函数

let a="变量1";
let b="变量2";
tag1`abc${a}def${b}` function tag1(strings,...value){
console.log(strings);
console.log(value);
}

字符串的基本方法:


let str="abc";
let str2="ABC";
let str3=" abcd "; console.log(str.length);//长度获取 输出:3 注意:字符串中的空格也会算长度 console.log(str.toUpperCase());// 转大写 ABC
console.log(str2.toLowerCase());//转小写 abc
console.log(str3.trim());//去前后空格 abcd // 获取单个字符
console.log("abc".charAt(2));//c
console.log("abc"[2]);//c

截取字符串的三种方法

  1. slice(开始位置,结束位置) 结束位置为负数则戴白从后往前算
  2. substring(开始位置,结束位置) 负数自动变为0
  3. substr(开始位置,位数)负数代表从后往前算
			let hd = 'abcdefg';
console.log(hd.slice(3)); //defg 从第三个开始到最后
console.log(hd.substr(3)); //defg 从第三个开始到最后
console.log(hd.substring(3)); //defg 从第三个开始到最后 console.log(hd.slice(3, 6)); //def 从第3-6个 不包含6
console.log(hd.substring(3, 6)); //def 从第3-6个 不包含6
console.log(hd.substring(3, 0)); //abc 从第0-3个 不包含3
console.log(hd.substr(3, 6)); //defg 从第3个往后取6个 console.log(hd.slice(3, -1)); //def 从第3个到(length-1)个 不包含(length-1)
console.log(hd.slice(-2));//fg 从第(length-2)到最后
console.log(hd.substring(3, -9)); //abc 负数转为0 从0到第3个 不包含第3个
console.log(hd.substr(-3, 2)); //ef 从后面第三个开始取两个 从length-3开始取两个

查找字符串

//原始方法 从前往后indexof(字符串,开始位置)与lastIndexof(字符串,结束位置) 返回下标
console.log("123456".indexOf("1"));//0
console.log('123456'.lastIndexOf('4', 5)); //3 从0-5中检索4,返回下标 找不到返回-1 // includes(字符串,开始位置)方法 返回bool
console.log('123456'.includes('4')); //true
console.log('123456'.includes('4', 3)); //true // 字符串检索
const word=['php',"css"];
const string1="是否存在php与css";
let status1=word.some(word=>{
console.log(word);
return string1.includes(word);
});
if(status1){
console.log("找到了");
} // 是否以字符开始
console.log("123456".startsWith("12"));//true
console.log("123456".startsWith("12",2));//false
// 是否以字符结束
console.log("123456".endsWith("56"));//true
console.log("123456".endsWith("56",5));//false

替换字符串

 // 替换字符串
// 方法一
let hd="abcdefg";
console.log(hd.replace("abc","aaa"));//aaadefg 变量.replace(被替换字符串,替换字符串) // 方法二 结合reduce来完成替换
// reduce((pre,word)=>{ // },string)其中初始中若没有string,则pre代表数组中的第一个元素,word代表第二个元素;若有string,则pre代表string,word代表第一个元素。初始后,pre代表return的值,word代表数组中的元素 // 案列:实现将string1中的关键词word加上超链接
const word=['php',"css"];
const string1="是否存在php与css";
const str2=word.reduce((pre,word)=>{
return pre.replace(word,`<a href="?w=${word}">${word}</a>`);
},string1);
console.log(str2);
document.body.innerHTML+=str2;

重复字符串

 // 案列:电话号码模糊处理
function phone(num,len=3){
return String(num).slice(0,len*-1)+"*".repeat(len);
}
console.log(phone(1786245656));

字符串的类型转换

            // 字符串转数字
// 字符串全部为数字时候
let string="1234";
console.log(string+1+2);//123412
console.log(Number(string)+1+2);//1237
//当头部为数字的字符串时
console.log(parseInt("12abc"));//12 // 数值转字符串
console.log(typeof (123+""));//string
let num=123;
console.log(typeof num.toString())//string //字符串转数组
let a="abc";
console.log(a.split(""));//['a','b','c'] //数组转字符串
let b=['a','b','c'];
console.log(b.join(''));//abc
console.log(b.toString());//a,b,c

尾记

有任何问题,欢迎私聊哟~~~

也可关注公众号“诗与凉风”联系作者哦~~

【JS学习】String基础方法的更多相关文章

  1. js学习笔记--基础部分

    自增 自增 ++ 通过自增可以使变量在自身的基础上增加1 对于一个变量自增以后,原变量的值会立即自增1 无论使a++, 还是++a,都会立即使原变量的值自增1. 不同的是a++ 和++a的值不同. a ...

  2. three.js学习笔记--基础知识

    基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...

  3. js学习笔记——数组方法

    join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...

  4. js复习---string

    对js的string的方法复习: 1.charCodeAt()  返回一个整数,代表指定位置字符串的unicode编码. strObj.charCodeAt(index) index 是处理字符的从零 ...

  5. JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)

    ①文本对象document: 例如:document.getElementById()    只获取一个对象          document.getElementsByTagName()   获取 ...

  6. Vue.JS学习基础

      = 导航   顶部 vue.js介绍 vue.js实例 模板语法 计算属性 样式绑定 条件渲染 列表渲染 事件处理器 表单控件绑定 组件   顶部 vue.js介绍 vue.js实例 模板语法 计 ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. 使用js进行string和json之间转换的方法

    在数据传输过种中,json是以文本,即字符串的形式传递,字符串形似Json对象: var str1 = '{ "name": "Amy", "sex& ...

  9. JavaScript基础13——js的string对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. 刚开始学习Javascript的一些基础小知识,从入门到崩溃,希望对大家有帮助(只适合初学者)

    一.简介 1.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,js不能操作文件. 重要的开始啦!!!!! 引入javascript: 行间js <d ...

  2. 使用pip安装pymysql出错;Could not find a version that satisfies the requirement cryptography (from pymysql) (from versions: ) No matching distribution found for cryptography (from pymysql)

    今天使用pip安装pymysql时出现如下错误: Could not find a version that satisfies the requirement cryptography (from ...

  3. 20201207-2 openpyxl 库与模块导入

    1-1 import openpyxl # 通过文件路径,打开工作簿 wb1 = openpyxl.load_workbook('./demo_excel.xlsx') # 用 Workbook() ...

  4. mysql批量刷新用户密码

    不知道用户密码,并且不改变用户密码的情况下,批量刷新MySQL数据库用户的密码 select concat('alter user \'',user,'\'@\'',host,'\' identifi ...

  5. 多个HDFS集群的fs.defaultFS配置一样,造成应用一直连接同一个集群的问题分析

    背景 应用需要对两个集群中的同一目录下的HDFS文件个数和文件总大小进行比对,在测试环境中发现,即使两边HDFS目录下的数据不一样,应用日志显示两边始终比对一致,分下下来发现,应用连的一直是同一个集群 ...

  6. 【PY从0到1】第三节 列表

    # 3 列表 # 1> 下面这就是一个列表 aabbccdd = ['ee','ff','gg'] # 列表可以储存数据,包含其中元素可以有很多,是可修改.有次序的. # 下面展示一下两套索引. ...

  7. [BUUCTF] MISC-九连环

    0x01 知识点 伪加密 steghide提取信息 0x02 伪加密的判断 首先,在winhex分析,发现有4个zip文件的文件头和2个文件尾,有完整文件头尾那么可以直接修改后缀为zip解压, 查看一 ...

  8. WP | BUGKU 论剑

    题目:bugku Misc论剑 第一步:在winhex里分析 发现文件头有两个 两个jpg文件中间还有一段二进制码 在kali里分离出两个一样jpg图片,但是没有什么发现 二进制码解出来也没有flag ...

  9. python装饰器学习详解-函数部分

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 最近阅读<流畅的python>看见其用函数写装饰器部分写的很好,想写一些自己的读书笔记. ...

  10. 给因特尔S2600CO服务器主板安装【SAS控制器】驱动

    给因特尔S2600CO服务器主板安装[SAS控制器]驱动 1:首先打开[设备管理器]找到未识别驱动的[SAS控制器]双击进入 2:在[详细信息]选项卡,选择[兼容Id]属性可以看到PCI\VEN_80 ...