• JS之String类


    JS之String类型

    字符串的特性

    • 由 0 个或多个16位Unicode 字符组成;

    • 引号包裹,单引号和双引号皆可;

    • 使用 .length属性可以访问字符串的长度;

      var str1 = "xie";
      var str2 = "learn JS happily";
      console.log(str1.length); // 3
      console.log(str2.length); // 16
      
    • 字符串一旦被创建,其值是不能改变的,若要改变必须销毁原有字符串,然后用另一个包含新值的字符串填充改变量;

    • 转义序列:

      • 换行,常用的,这个需要记住;

      • \

        斜杠是常用转义使用的

        • 单引号 常用

        • 双引号 常用

      下面的仅作了解就可以了

      • 制表符

      •  空格

      • 回车符

      • f 分页符

      • xnn 十六进制,n代表0-F

      • unnnn 以十六进制代码表示一个unicode字符

    类型转换

    • toString()

      • 把别的类型数据,转为字符串

        适用类型 Number/Boolean/String/Object 参数:number类型的数值基数;一般不需要写,仅作了解,如果需要按照2/8/16进制来转换,需要写;

    • String()

      • null

      • undefined

      • null和undefined没有toString方法,所以转换的时候用String()函数;

        var testNull = null;
        console.log(typeof testNull);//object 
        //var testString2=testNull.toString(); //Uncaught TypeError:Cannot read property 'toString' of null
        var testString3 = String(testNull);
        console.log(typeof testString3);//string
        
    • eval()

      • 计算字符串表达式的值并以数值形式返回;

        //eval
        var evalVal="1+2+5+8+10";
        console.log(typeof evalVal);//string
        console.log(evalVal); //"1+2+5+8+10"
        var evalComputed=eval(evalVal);
        console.log(evalComputed,typeof evalComputed);//26 "number"
        

    快速转换成字符串

    //+""用来转换字符串
    var numVal=2;
    var boolVal=false;
    var nullVal=null;
    var undefinedVal=undefined;
    var numValPlus=numVal+"";
    var boolValPlus=boolVal+"";
    var nullPlus=nullVal+"";
    var undefinedPlus=undefinedVal+"";
    console.log(numValPlus,typeof numValPlus);
    console.log(boolValPlus,typeof boolValPlus);
    console.log(nullPlus,typeof nullPlus);
    console.log(undefinedPlus,typeof undefinedPlus);
    

    某个数据并不仅限于Number类型;数组也是可以的;

    console.log([1,2,3,4]+"");//1,2,3,4
    

    字符串快速转换为数字

    console.log(+"1.2");
    
    console.log("1.1" + 1.1);  // "1.11.1"
    console.log(+"1.1" + 1.1); // 2.2
    
    //toString方法;
    //22 - > "22"
    console.log(typeof 22);
    console.log(typeof (22).toString());
    var testStr=22+"";//隐式调用toString方法
    console.log(typeof testStr);
    //eval()
    console.log("00000000000000000");
    console.log(eval("22+12"));//"22+12" -> 22+12 ->34
    //
    console.log("**********************");
    console.log(typeof (22+""));//string  22 -> "22"
    console.log(typeof (+"22"));//"22" -> 22 单目运算符+
    console.log([1,2,3,4]+"");//1,2,3,4
    console.log("**********************");
    console.log("1.1" + 1.1);
    console.log(+"1.1" + 1.1); // 2.2
    console.log((+"1.1") + (+1.1)); // 2.2
    

    运用map/reduce

    // 将字符串转换成数字
    function string2int(s){
        return s.split("").map((x)=>{return +x}).reduce((x,y)=>{return x*10+y});
    }
    string2int('12345') === 12345; // true
    

    refer:

    朱安邦的博客

    Mozilla官方文档

  • 相关阅读:
    数据库
    知道版本对于出0day后批量攻击dedecms有非常大的帮助,先判断版本再选择相应exp,效率大增
    跟我开发NSP(网上查询平台):如何选择开发项目
    Python3基础教程(十七)—— Virtualenv
    Python3基础教程(十六)—— 迭代器、生成器、装饰器
    Python3基础教程(十五)—— PEP8 代码风格指南
    Python3简明教程(十四)—— Collections模块
    Python3简明教程(十二)—— 模块
    Python3简明教程(十一)—— 类
    Python3简明教程(十)—— 异常
  • 原文地址:https://www.cnblogs.com/jiaweixie/p/13069243.html
Copyright © 2020-2023  润新知