美文网首页web前端
1.8 string数据类型

1.8 string数据类型

作者: NULL_2022 | 来源:发表于2020-07-01 15:29 被阅读0次

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

    • 把其它数据类型转化为字符串类型,转换方式:
      • String([value])
      • [value].toString()
      • 普通对象转换为字符串都是"[object Object]";
      • 数组对象转换为字符串是"第一项,第二项……"(逗号分隔数组中的每一项)
      console.log(String(10));//=> 输出结果 "10"
      console.log(String(true));//=> 输出结果 "true"
      console.log(String(null));//=> 输出结果 "null"
      console.log(String(undefined));//=> 输出结果 "undefined"
    
    • 在JS中常用的数学运算:+、-、*、/ 、%(取模);除了加法以外,其余的情况都是数学运算(如果遇到非数字类型,需要基于Number把其强制转换为数字类型,然后进行运算的);加号在JS中既有数学运算,也有字符串拼接的意思(只要加号两边的任意一边出现字符串,则变为字符串拼接);想把对象转换为数字,但是中间一定先要转换为字符串
    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}`;
    

    相关文章

      网友评论

        本文标题:1.8 string数据类型

        本文链接:https://www.haomeiwen.com/subject/hpscqktx.html