前言:本博客系列为学习后盾人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. hadoop技术产生

    一.为什么有大数据 我的理解是: 1)数据量达到了传统数据库的瓶颈 2)数据量的激增 3)硬件成本的降低 [ 技术水平的上升 ] 4)想通过大量的数据发现潜在的商业价值 二.什么是大数据 大数据指的是 ...

  2. Java PDF全套笔记

    java 知识pdf文档,基本涵盖了java知识点 java基础部分:https://github.com/HOSystemH/JavaFile/tree/master/JavaPDF java高级部 ...

  3. js实现元素范围内拖动

    元素拖拽,网上一堆的实现,其中很多是原生js写的,都不够简洁,甚至运行后看不到效果. 于是乎,安静地想了下,拖动元素貌似就是一个滑动事件的监听处理,具体操作如下: 1.一个外层DIV,或者直接用根节点 ...

  4. GaussDB(DWS)磁盘维护:vacuum full执行慢怎么办?

    摘要:在数据库中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经标示为删除的数据并释放空间. vacuum的功能 回收空间 数据库总是不断地在执行删除,更新等操作.良好的空间管理 ...

  5. 使用VNC远程linux机器

    一,在Windows机器上下载vnc客户端 vnc viewer是一款vnc远程客户端,可以很方便的从Windows机器远程安装了图形界面和vnc服务器的linux机器. 从官网下载https://w ...

  6. C#数据结构-线索化二叉树

    为什么线索化二叉树? 对于二叉树的遍历,我们知道每个节点的前驱与后继,但是这是建立在遍历的基础上,否则我们只知道后续的左右子树.现在我们充分利用二叉树左右子树的空节点,分别指向当前节点的前驱.后继,便 ...

  7. java.net.BindException:Problem binding to [hostname:8088]地址已在使用

    异常提示端口号被占用 查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln ## 查看端口使用情况,而netstat -tln | g ...

  8. 旁站和C段的简要解释

    旁注与C段嗅探的意义,旁注的意思就是从同台服务器上的其他网站入手,提权,然后把服务器端了,就自然把那个网站端了.C段嗅探,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B ...

  9. gcc编译阶段打印宏定义的内容

    背景 总所周知,代码量稍微大一点的C/C++项目的一些宏定义都会比较复杂,有时候会嵌套多个#if/#else判断分支和一堆#ifdef/#undef让你单看代码的话很难判断出宏定义的具体内容. 如果有 ...

  10. 微服务之间如何共享DTO?

    1. 概述 近些年来,微服务变得越来越流行.微服务基本特征是模块化.独立.易于扩展的.它们之间需要协同工作并交换数据.为了实现这一点,我们创建了名为 DTO 的共享数据传输对象.在本文中,我们将介绍在 ...