好家伙,

本篇内容为《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类型)的更多相关文章

  1. 第一百零七篇:基本数据类型(undefined,null,boolean类型)

    好家伙, 本篇内容为<JS高级程序设计>第三章学习笔记 1.数据类型 ECMAScript有6种简单数据类型(称为原始类型): Undefined, Null, Boolean, Numb ...

  2. “全栈2019”Java第一百零九章:匿名内部类实现唯一抽象类或接口

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. 第一百零九节,JavaScript面向对象与原型

    JavaScript面向对象与原型 学习要点: 1.学习条件 2.创建对象 3.原型 4.继承 ECMAScript有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标 ...

  4. 第一百零六篇:变量的不同声明(var,let和const的不同)

    好家伙,JS基础接着学, 本篇内容为<JS高级程序设计>第三章学习笔记 1.变量 ECMAScript 变量是松散类型的,意思是变量可以用于保存任何类型的数据. (确实松散,不像C或C++ ...

  5. 【leetcode 简单】 第一百零九题 最小移动次数使数组元素相等

    给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动 ...

  6. 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化

    第三百零九节,Django框架,models.py模块,数据库操作——F()和Q()运算符:|或者.&并且 F()可以将数据库里的数字类型的数据,转换为可以数字类型 首先要导入 from dj ...

  7. “全栈2019”Java第一百零七章:匿名内部类与构造方法注意事项

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第一百零六章:匿名内部类与抽象类接口注意事项

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第一百零五章:匿名内部类覆盖作用域成员详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. “全栈2019”Java第一百零四章:匿名内部类与外部成员互访详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. HTTPS下tomcat与nginx的前端性能比较

    HTTPS下tomcat与nginx的前端性能比较 摘要 之前比较http的web服务器的性能. 发现nginx 比 tomcat 要好 50% 然后想到, https的情况下不知道两者有什么区别 所 ...

  2. Ant Design Vue中TreeSelect详解

    <template> <a-tree-select v-model:value="value" style="width: 320px" :t ...

  3. 【JS 逆向百例】网洛者反爬练习平台第五题:控制台反调试

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...

  4. TienChin 创建菜单页面

    上一节当中我们只是给后台添加了对应的菜单,实际上对应的页面还没有存在这节主要就是创建出来页面: 促销活动: activity 统计分析: analysis 商机管理: business 渠道管理: c ...

  5. BigDecimal详解和精度问题

    JavaGuide :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识. BigDecimal 是大厂 Java 面试常问的一个知识点. <阿里巴巴 Java 开发 ...

  6. Midjourney|文心一格 Prompt:完整参数列表、风格汇总、文生图词典合集

    Midjourney|文心一格 Prompt:完整参数列表.风格汇总.文生图词典合集 1.Midjourney 完整参数列表 参数名称 调用方法 使用案例 注意事项 V5 V4 V3 niji 版本 ...

  7. Protobuf之proto基础语法

    目录 1.说明 2.字段类型 3.字段规则 4.字段编号 5.注释 6.类型 6.1.message 6.2.service 7.枚举enum 8.保留字段 9.import 9.1.protoc指令 ...

  8. iOS使用Run Script提升开发效率

    通过在Xcode Run Script添加shell脚本,然后通过脚本来帮助我们在编译阶段完成一下资源的copy,文件替换,修改等繁琐的事件.使Xcode在编译过程中自动完成耗时繁琐的操作提升开发效率 ...

  9. CF765F Souvenirs 题解

    题目链接:CF 或者 洛谷 想了很久,然后想起做过的一道题:秃子酋长,一开始以为差不多,结果写着写着就发现不对劲了.最后写出了个神仙回滚莫队解法,感觉很妙,记录下. 进入神仙分析时刻 首先,我们来考虑 ...

  10. Java 运算符 - 除法

    1. 除法运算符 Java中的除法运算符是"/"符号,表示将左侧操作数除以右侧操作数. 2. 整数除法 在Java中,整数除法的结果是一个整数,即只保留除法的整数部分,舍去小数部分 ...