web前端

1.8 string数据类型

2020-07-01  本文已影响0人  NULL_2022

在JS中用 单引号、双引号、反引号包起来的都是字符串

  console.log(String(10));//=> 输出结果 "10"
  console.log(String(true));//=> 输出结果 "true"
  console.log(String(null));//=> 输出结果 "null"
  console.log(String(undefined));//=> 输出结果 "undefined"
console.log(7/3);//=> 2.3333333333333335
console.log(7%3);//=> 1
console.log(10-null);//=>10 
console.log(3*undefined);//=>NaN
console.log(true-"12");//=> 1-12= -11
console.log(3-"3px");//=> NaN
console.log(3+"3px");//=>"33px"
console.log(1+"1");//=>"11"
console.log(1+{});//=> "1[onject Object]" =>在把{}转换为数字过程中,先把它转换为字符串"[object Object]",此时右侧出现了字符串,则不再是数学运算,而是字符串拼接了
console.log(1+[]);//=> '1'
console.log([10]+true);//=> "10true" 在转换[10]到数字的过程中,先把其转换为字符串"10",此时操作变为字符串拼接(和数学运算没过关系了)
console.log(true+[10]);//=> "true10"
console.log(1+true);//=> 2

练习1:console.log(100+true+21.2+null+undefined+"Tencent"+[]+null+9+false);

  console.log(100+true+21.2+null+undefined+"Tencent"+[]+null+9+false);//=> NaNTencentnull9false
  /**
 * 100 + true = 101
 * 101+ 21.2 = 122.2
 * 122.2 + null = 122.2
 * 122.2 + undefined = NaN
 * NaN + "Tencent" = "NaNTencent"
 * "NaNTencent" + [] = "NaNTencent"
 * "NaNTencent" + null = "NaNTencentnull"
 * "NaNTencentnull" + 9 = "NaNTencentnull9"
 * "NaNTencentnull9" + false = "NaNTencentnull9false"
 */

练习2:完成字符串拼接处理:2020年03月03日 12:00:00

  let year = '2020';
  let month = '03';
  let day = '03' ;
  let hours = '12';
  let minutes = '00';
  let secondes = '00';
//传统的拼接方式,需要在字符串中基于"++"或者'++'的方式把变量拼接到字符串中,这种方式涉及很多规则,很容易拼错
  let result = year+'年'+month+'月'+day+'日 '+hours+":"+minutes+":"+secondes;
//ES6中的模板字符串就是为了解决传统字符串拼接中的问题使用反引号(tab键上面的`键)、${}中存放变量或者其它的JS表达式即可,
  let str = `${year}年${month}月${day}日 ${hours}:${minutes}:${secondes}`;
上一篇 下一篇

猜你喜欢

热点阅读