每天3小时学前端之JS-第04天-字符串-布尔值-undefined和null

字符串

定义

字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。

'abc'
"abc"

单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。

'key = "value"'
"Let's go!"

字符串默认只能写在一行内,分成多行将会报错。

'a
b
c'
// 报错

如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。

var str = 'abc \
def \
ghij \
klmn';

str
// "abc def ghij klmn"

输出的时候还是单行,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。

连接运算符(+)可以连接多个单行字符串。

var str = 'abc '
  + 'def '
  + 'higk '
  + 'lmn';

还可以和变量进行拼接

var str1 = 'opqrst'
var str2 = 'abc '
  + 'def '
  + 'higk '
  + 'lmn '
  + str1;

特殊字符的转义

反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。

常见的需要用反斜杠转义的特殊字符:

’ :单引号
" :双引号
\ :反斜杠
\n :换行符
\r :回车键
\t :制表符

如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是一样。

'Did you say \'Hai\'?'
// "Did you say 'Hai'?"

"Did you say \"Hai\"?"
// "Did you say "Hai"?"

console.log('abcd\nefg')
//abcd
//efg

模板字符串:反引号

模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

字符串的数组特性

字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。

var arr = 'Hello World';

console.log(arr[1]) // "e"
console.log(arr[6]) // "W"
console.log(arr[8]) // "r"

// 直接对字符串使用方括号运算符
console.log('Hello World'[0]) // "H"

如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。

console.log('abc'[3]) // undefined
console.log('abc'[-1]) // undefined
console.log('abc'['y']) // undefined

但是,字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。

var arr = 'hello';

delete arr[0];
console.log(arr) // "hello"

arr[1] = 'a';
console.log(arr) // "hello"

上面代码表示,字符串内部的单个字符无法改变和增删

字符串的长度属性length

length属性返回字符串的长度,该属性也是无法改变的。

var arr = 'hello';
console.log(arr.length) // 5

arr.length = 3;
console.log(arr.length) // 5

arr.length = 9;
console.log(arr.length) // 5

上面代码表示字符串的length属性无法改变,但是不会报错。

布尔值

可以返回布尔值的运算符

  • 前置逻辑运算符: ! (Not)
  • 相等运算符:=,!,==,!=
  • 比较运算符:>,>=,<,<=

转为布尔值时为false的六个值

undefined
null
false
0
NaN
""或’’(空字符串)

其他值都视为true。

undefined和null

null与undefined都可以表示“没有”,含义非常相似。语法效果几乎没区别。

undefined == null
// true

null一般指空对象,转为数值时为0;undefined是一个表示"此处无定义"的原始值,转为数值时为NaN。

console.log(6 + null); // 6
console.log(6 + undefined); // NaN

练习

打印一首格式化的诗词
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值