第一百零九篇:基本数据类型(String类型)

第一百,九篇,基本,数据类型,string,类型 · 浏览次数 : 129

小编点评

**《JS高级程序设计》第三章学习笔记 1.String类型** *字符串可以使用双引号,单引号以及反引号标示。 ```javascript let panghu ='panghu\';let kunkun =\"kunkun\";let awei =`awei`;console.log(panghu,kunkun,awei); ``` **2.字符字面量字面量** *字符字面量指的是用字符表示的文本。 ```javascript let a =\"woshi\panghu\";let b =`woshipanghu`;console.log(a);console.log(b);console.log(a==b); ``` **3.字符串特点** *字符串是不可变的,一旦创建,它们的值就不能变了。 ```javascript 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.字符串转换方法** *`toString()`方法可用于数值、布尔值、对象和字符串。 ```javascript 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()); ``` **5.模板字面量** *模板字面量指的是在字符串中保留\"模板\"我们使用反引号(``)来保存一个模板字面量。 ```javascript let a =\"woshi\panghu\";let b =`woshipanghu`;console.log(a);console.log(b);console.log(a==b); ``` **6.字符串插值** *字符串插值可以在模板字面量中使用字符串插值,也就是可以在一个连续定义中插入一个或多个值。 ```javascript let num_1 = 3;let num_2 = 4;let sum =num_1+'+'+num_2+'='+(num_1*num_2);console.log(sum); ``` **7.原始字符串使用模板字符串可以直接获取原始模板字面量内容,而无需转义** ```javascript console.log(\"woshi\panghu\");console.log(String.raw`woshi\panghu`); ```

正文

好家伙,

本篇内容为《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类型)相似的内容:

第一百零九篇:基本数据类型(String类型)

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

salesforce零基础学习(一百二十九)Lead Conversion 有趣的经历

本篇参考:https://help.salesforce.com/s/articleView?id=000382564&type=1 Lead Conversion 是salesforce中sales cloud的一个很好用的功能。sales cloud流程可以简单的理解成 lead to cash

从零做软件开发项目系列之二——需求调研

在接到软件开发任务之后,第一件要做的事情就是进行需求调研工作,基于前期的沟通以及合同向用户了解具体需求,从而有针对性地开展后续工作。整个调研过程分为调研准备,调研实施,需求分析。

痞子衡嵌入式:说说职业生涯第一个十年

2013年7月1日,痞子衡应届毕业正式入职飞思卡尔半导体上海 Site,至今已经十年零七天。 上周六是整十年的日子,当时并没有特别的感觉,但是过去的一周总有种情愫在酝酿,终于今天还是决定花点时间回忆下过去的十年,梳理下那些值得纪念的时刻。 Offer抉择 时间拨回到 2012 年的秋天,痞子衡和万千

2023年主要网络安全趋势

2023年,网络安全仍然是企业在加强数字防御任务中的重点。随着勒索软件攻击持续上升,零信任模型变得更加普遍,越来越多的公司开始使用在线技术来自动化他们的运营,而这也导致大量数据存在于互联网中,在一定程度上造成了数据的泄露和失窃,这对于小型企业、个人和大公司来说竟已经是司空见惯的事情。在2022年第一

salesforce零基础学习(一百三十六)零碎知识点小总结(八)

本篇参考: Salesforce LWC学习(七) Navigation & Toast https://developer.salesforce.com/docs/platform/lwc/guide/use-navigate-url-addressable.html https://help.s

salesforce零基础学习(一百三十二)Flow新功能: Custom Error

本篇参考: https://help.salesforce.com/s/articleView?id=sf.flow_ref_elements_custom_error.htm&type=5 https://developer.salesforce.com/docs/atlas.en-us.apex

salesforce零基础学习(一百二十一)Limitation篇之Heap Size Limitation

本篇参考: https://help.salesforce.com/s/articleView?id=000384468&type=1 https://help.salesforce.com/s/articleView?id=000385712&type=1 此前讲过CPU limitation:s

salesforce零基础学习(一百二十二)通过 excel / csv创建 object

本篇参考: https://help.salesforce.com/s/articleView?id=sf.dev_objectcreate_task_lex_from_spreadsheet.htm&type=5 背景:当客户给我们N个表的数据,告诉我们需要创建一些新表,然后导入这些数据的时候,我

salesforce零基础学习(一百二十三)Transaction Security 浅入浅出

本篇参考: https://help.salesforce.com/s/articleView?id=sf.enhanced_transaction_security_policy_types.htm&type=5 https://developer.salesforce.com/docs/atla