第一百零九篇:基本数据类型(String类型)
好家伙,
本篇内容为《JS高级程序设计》第三章学习笔记
1.String类型
字符串类型是最常用的几个基本类型之一
字符串可以使用双引号,单引号以及反引号(键盘左Tab上面那个)标示
let panghu ='panghu';
let kunkun ="kunkun";
let awei =`awei`;
console.log(panghu,kunkun,awei);

逆天标识法:
前为单引号,后为双引号
let panghu ='panghu";

别这么干!
2.字符字面量
字面量 含义
\n 换行
\t tab缩进
\b 退格
\r 回车
\f 换页
\\ 反斜杠(\)
\' 单引号(')
\" 双引号(")
\` 反引号(`)
\xnn 以十六进制编码nn表示的字符
\unnnn 以十六进制编码表示Unicode字符
3.字符串特点
ECMAScript中的字符串是不可变的,一旦创建,它们的值就不能变了.
要修改某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另一个字符串保存到该变量
然而所有处理都是在后台发生的,
4.字符串转换方法
4.1.toString()方法
toString()方法可用于数值、布尔值、对象和字符串,值得注意的是null和undefined值没有toString()方法
toString()方法多数情况下不接受参数,
但在对数值调用toString()方法时,可以接受一个参数来表示以什么进制输出
let value_1 =100;
let value_2 =null;
let value_3 =undefined; console.log(value_1.toString(2));
console.log(value_2.toString());
console.log(value_3.toString());

4.2.String()方法
String()转型方法几乎可用于任何值
转换规则如下:
(1)如果值由toString()方法,则调用该方法(无参数)并返回结果
(2)null,返回"null"
(3)undefined,返回"undefined"
let value_1 =100;
let value_2 =null;
let value_3 =undefined; console.log(String(value_1));
console.log(String(value_2));
console.log(String(value_3));

5.模板字面量
模板字面量正如他的命名一般,在字符串中保留"模板"
我们使用反引号(``)来保存一个模板字面量
let a ="woshi\npanghu";
let b =`woshi
panghu`; console.log(a);
console.log(b); console.log(a==b);

可以看到,我们的"实体回车"被保存了下来
6.字符串插值
可以在模板字面量中使用字符串插值,也就是可以在一个连续定义中插入一个或多个值。
传统插值法:
let num_1 = 3;
let num_2 = 4;
let sum =num_1+'+'+num_2+'='+(num_1*num_2);
console.log(sum);
(都什么年代了还在用传统插值法)
在模板字面量中使用字符串插值
let num_1 = 3;
let num_2 = 4;
let sum = `${num_1}+${num_2}=${num_1*num_2}`;
console.log(sum);

上手亲自写一遍,会发现,模板字面量字符串插值法确实好用更多
1.书写逻辑更合理
2.插值表达更清晰
所有插入的值都会使用toString方法强制转型为字符串,而且任何JavaScript表达式都可以用于插值
嵌套的模板字符串无须转义
在插值表达式中可以调用函数和方法:
let panghu = 'panghu';
function makepanghubigger(word){
return`${word.toUpperCase()}`;
}
console.log(`${makepanghubigger('panghu')}`);

有趣的是,模板可以插入自己之前的值:
let panghu ="PangHu\t";
function f__k(){
panghu=`${panghu}PangHu\t`;
console.log(panghu);
}
for(let i=1;i<5;i++){
f__k();
}

7.原始字符串
使用模板字符串可以直接获取原始模板字面量内容,而不是被转换后的字符表示.
为此,可以使用默认的String.raw标签函数
console.log("woshi\npanghu");
console.log(String.raw`woshi\npanghu`);

第一百零九篇:基本数据类型(String类型)的更多相关文章
- 第一百零七篇:基本数据类型(undefined,null,boolean类型)
好家伙, 本篇内容为<JS高级程序设计>第三章学习笔记 1.数据类型 ECMAScript有6种简单数据类型(称为原始类型): Undefined, Null, Boolean, Numb ...
- “全栈2019”Java第一百零九章:匿名内部类实现唯一抽象类或接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 第一百零九节,JavaScript面向对象与原型
JavaScript面向对象与原型 学习要点: 1.学习条件 2.创建对象 3.原型 4.继承 ECMAScript有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标 ...
- 第一百零六篇:变量的不同声明(var,let和const的不同)
好家伙,JS基础接着学, 本篇内容为<JS高级程序设计>第三章学习笔记 1.变量 ECMAScript 变量是松散类型的,意思是变量可以用于保存任何类型的数据. (确实松散,不像C或C++ ...
- 【leetcode 简单】 第一百零九题 最小移动次数使数组元素相等
给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动 ...
- 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化
第三百零九节,Django框架,models.py模块,数据库操作——F()和Q()运算符:|或者.&并且 F()可以将数据库里的数字类型的数据,转换为可以数字类型 首先要导入 from dj ...
- “全栈2019”Java第一百零七章:匿名内部类与构造方法注意事项
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第一百零六章:匿名内部类与抽象类接口注意事项
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第一百零五章:匿名内部类覆盖作用域成员详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第一百零四章:匿名内部类与外部成员互访详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- 源码学习之Spring容器创建原理
1 前言 众所周知,Spring可以帮我们管理我们需要的bean.在我们需要用到这些bean的时候,可以很方便的获取到它,然后进行一系列的操作.比如,我们定义一个bean MyTestBean pub ...
- js中计算一个时间点加上一个时间段后的时间
function aa(a,b){ console.log(111,a,b) var nd = new Date(Date.parse(a.replace(/-/g, "/"))) ...
- 【APP 逆向百例】Frida 初体验,root 检测与加密字符串定位
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...
- 使用三方jar中的@RestControllerAdvice不起作用
背景 公司封装了自己的基础核心包core-base,里边包含了Validation的异常捕获处理类:同时开发项目有全局异常捕获处理类,经测试发现,core-base里边的不起作用 可能原因: 未扫描外 ...
- 补发一篇tensorflow下MADDPG环境搭建配置
相关文章: [一]MADDPG-单智能体|多智能体总结(理论.算法) [二]MADDPG多智能体算法实现(parl)[追逐游戏复现] 之前用的都是paddle,现在补一下tf的. github上ope ...
- Windows开机自动同步时间
前言 有些Windows客户端因主板电池没电或其他原因,每次启动系统后,读取到BIOS的时间是初始时间(1970年)或错误的时间,这时需要系统启动后立即向时间服务器同步一次时间. 该方法是添加 ...
- python识别图片中的文本保存到word中
python可以使用第三方库pytesseract实现图像的文本识别,并将识别的结果保存到word中,代码本生不复杂pytesseract环境有点麻烦这里整理总结一下 一.简介 Tesseract是一 ...
- 【预定义】C语言预定义代码(宏、条件编译等)内容介绍【最全的保姆级别教程】
浅谈C语言预定义中的预定义符号,#define,以及符号#,##的相关运用 求个赞求个赞求个赞求个赞 谢谢 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一 ...
- CF1515F Phoenix and Earthquake 题解
题目链接:CF 或者 洛谷 首先基于一个事实,答案一定是生成树,显然,每次我们都需要连边,每次都会 \(-x\),那么一共会减少 \((n-1)\times x\),很显然的一个必要条件为: \[\s ...
- 解析Sermant热插拔能力:服务运行时动态挂载JavaAgent和插件
本文分享自华为云社区<服务运行时动态挂载JavaAgent和插件--Sermant热插拔能力解析>,作者:华为云高级软件工程师 栾文飞 一.概述 Sermant是基于Java字节码增强技术 ...