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
- 
字符串一旦被创建,其值是不能改变的,若要改变必须销毁原有字符串,然后用另一个包含新值的字符串填充改变量; 
- 
转义序列: - 
\n换行,常用的,这个需要记住;
- 
\\斜杠 \是常用转义使用的- 
\’单引号 常用
- 
\”双引号 常用
 
- 
 下面的仅作了解就可以了 - 
\t制表符
- 
\b空格
- 
\r回车符
- 
\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:

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号