一、书写语法

  • 字符串由零个或多个16位Unicode字符序列组成
  • 字符串必须包含在引号里,单引号'、双引号"或者反引号`
  • 必须以相同的引号开始和结束

二、字符字面量

1、字面量的分类

  • 键盘上有或者通过输入法可以直接输入的字面量
  • 键盘上有但是有特殊含义的字面量
  • 键盘上没有很难输入的字面量

2、直接输入的字面量

  • 当需要给一个变量赋值可以直接输入的字面量是最简单的,按照字符串的书写语法,直接赋值即可

3、有特殊含义的字面量

  • 反斜杠\、单引号'、双引号"、反引号 `
  • 后面三个是字符串赋值的语法符号,而反斜杠是作为特殊含义字面量的转义赋值
  • 当需要给变量赋值有特殊含义的字面量时可以通过转义字符反斜杠\ var backslash='\\';
  • 还有一种方式可以给变量赋值特殊含义的字符,就是下面的方法

4、键盘上很难输入的字面量

  • 字符串中的字符是Unicode码,那么就可以直接使用Unicode码
  • 因为Unicode码太多且不容易记,所以这种方法虽然可行,但是很少使用;没有更好的方式时候可以用Unicode码

三、模板字面量

  • 使用反引号包括字符串
  • 保留换行符
  • 保留空格
  • 可以使用字符串插值${函数/变量名/方法}
  • 场景:定义模板

三、基本数据类型转换为字符串

  • 作用:将变量的值转为字符串
  • 有如下三种方法

1、调用变量的toString()方法

  • 布尔值:转为"true"/“false”
  • 数值:转为对应的字符串"数值"
  • null和undefined没有toString()方法,会抛异常

2、使用函数String()转化变量

  • 布尔值:调用变量的toString()方法转为"true"/“false”
  • 数值:调用变量的toString()方法转为对应的字符串"数值"
  • null:转为"null"
  • undefined:转为"undefined"

3、字符串拼接符+

  • 从左至右依次执行
  • 遇到两个数字会优先执行数值的+而不是字符串的拼接

4、总结

  • toString()不能处理null和undefined
  • String()能处理所有类型,当变量有toString()方法时,优先调用变量的toString()方法;变量没有toString()方法时转为null或者undefined
  • +能处理所有类型;遇到两个数字时优先执行数学运算符+,而不是字符串拼接符+

四、代码示例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>数据类型</title><script>console.log("===========直接赋值");var str = "hello, world";console.log(str);console.log("===========使用转义字符");console.log("\\");//使用转义字符 反斜杠console.log("\"");//使用转义字符 双引号console.log("\'");//使用转义字符 单引号console.log("===========使用Unicode码");console.log("\u03a3");//Σconsole.log("\u005c");//使用Unicode码 反斜杠console.log("\u0022");//使用Unicode码 双引号console.log("\u0027");//使用Unicode码 单引号console.log("===========模板字面量");var str1 = `hello
world`console.log(str1);var str2 = "hello\nworld"console.log(str2);console.log(str1 == str2);//truevar str3 = `helloworld`;//注意world前面的空格会被保留console.log(str3);console.log(str1 == str3);//falsevar html = `
<a href="#"><span>不会变形</span>
</a>`;console.log(html);console.log("===========字符串插值");//`xxx${变量名或者调用函数或方法}xxx`等价于:'xxx'+变量名或者调用函数或方法+'xxxx';使用未赋值或者未声明的变量会出现undefined或者报错的问题var name = prompt("请输入您的名字");var strin = `恭喜												

JavaScript数据类型之String相关推荐

  1. JavaScript中为什么string可以拥有方法?

    所有文章搬运自我的个人主页:sheilasun.me 引子 我们都知道,JavaScript数据类型分两大类,基本类型(或者称原始类型)和引用类型. 基本类型的值是保存在栈内存中的简单数据段,它们是按 ...

  2. 从javaScript数据类型开始了解垃圾回收机制

    一. javaScript数据类型 javaScript 数据类型分为:基本数据类型.引用数据类型 基本数据类型 分类:Number.String.Boolean.Null.Undefined.Sym ...

  3. JavaScript数据类型 typeof, null, 和 undefined

    JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...

  4. 18100出多少取整_关于JavaScript数据类型,你知道多少?

    JavaScript的数据类型是每一个前端开发者必须要掌握的内容,也是最基础最重要的角色之一,关于JavaScript数据类型你知道多少? JavaScript一共有7种数据类型:String.Num ...

  5. JavaScript筑基篇(二)-JavaScript数据类型

    说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 numb ...

  6. Javascript数据类型共有六种

    Javascript数据类型共有六种 /* var box; alert(typeof box); // box是Undefined类型,值是undefined,类型返回的字符串是undefinedv ...

  7. javascript 数据类型与类型转换

    JavaScript 数据类型 值类型(基本类型): 字符串(String) 数字(Number) 布尔(Boolean) 空(Null) 未定义(Undefined) Symbol 注:Symbol ...

  8. JavaScript数据类型基本数据类型与引用数据类型的区别

    JavaScript数据类型 1.JavaScript判断数据类型 typeof操作符 使用typeof操作符可以返回变量的数据类型 typeof操作符有带括号和不带括号两种用法 typeof (变量 ...

  9. JavaScript 数据类型之 Symbol、BigInt

    JavaScript数据类型 在JavaScript中,我们已知有5种基本数据类型:Undefined.Null.String.Number.Boolean. 当ES6问世,直至今日,又新增了两种基本 ...

  10. javascript数据类型边边角角

    javascript数据类型边边角角 变量,数据类型,需要注意的地方 全局变量和局部变量 var a = 3;// 全局变量function test(){//var b = 2;//局部变量,肯定能 ...

最新文章

  1. java中properties作用,java中Properties类的使用
  2. 理解AngularJS的作用域Scope
  3. java基础知识回顾之javaIO类总结
  4. element ui怎么调图标的大小_大明:网页字体大小怎么调?教你方法一键搞定
  5. quercus mysql_14.5 Quercus 原理及展望
  6. Laravel Query Builder 复杂查询案例:子查询实现分区查询 partition by
  7. 7-21-第三篇 validation相关操作
  8. 关闭SSMS的事务自动提交,改为手动提交
  9. php中ini_get,关于ini_get php手册的例子?
  10. [2018.07.17 T1] 字符串最大值
  11. stm32实验报告心得体会_stm32实验报告心得体会
  12. 关于java构造函数 的错误 there is no default constructor available in ...
  13. python实现百度语音合成(超详细!!)
  14. 手把手教你线程池配合CompletableFuture实现图片下载并压缩
  15. Android中实时视频监控方案设计思路
  16. 假设检验:如何理解单侧、双侧检验的拒绝域
  17. 为什么说千万别用微软 IE 下载 Chrome?
  18. 正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板
  19. jquery $.each(data, function (index, value) {
  20. 学习c语言的方法类比,类比法在C语言程序设计教学中运用.doc

热门文章

  1. GraphQL教程(三) .net core api
  2. BZOJ 2648: SJY摆棋子(K-D Tree)
  3. ASP.NET MVC4 使用UEditor富文本
  4. 开源大数据查询分析引擎现状
  5. jvisualvm工具
  6. 查看mysql表和数据库的大小
  7. centos7安装zabbix时的一些注意事项
  8. PIM SM报文抓包和总结
  9. LeetCode算法题-Delete Node in a Linked List(Java实现)
  10. python+django(解决对象编码显示Test Object问题)