zoukankan      html  css  js  c++  java
  • 🍖JS数值类型与字符串类型的内置方法

    一.Number 数值类型

    JavaScript 中不区分整形和浮点型, 只有一种数字类型 : Number

    var a = 3;
    var b = 3.3;
    var c = 2e2;  // 200
    var n = NaN;  // number 类型, 表示的是"不是一个数字(NOT a number)"
    

    使用 typeof 查看数据类型

    typeof(a);  // "number"
    typeof(b);  // "number"
    typeof(c);  // "number"
    typeof(d);  // "number"
    

    四舍五入

    var num = 3.1465926;
    num.toFixed(2);  // 3.15  (保留两位小数,并四舍五入)
    

    二. String 字符串类型

    1.字符串常用操作

    • 定义
    var str = '@#$%^&fe海绵宝宝';  // 单引号,双引号,任意字符
    var word = "hello";
    typeof(str);   // "string"
    typeof(word);  // "string"
    
    • 字符串嵌套的关系,不能穿插用
    var name = '派大星 "海绵宝宝"';  // 单双引号必须匹配
    alert(name);
    
    • 转意字符
    var name = "I 'am "派大星"";  // 引号冲突可以进行转意
    alert(name);
    
    • 字符串拼接
    var one = '派大星';
    var name = "海绵宝宝";
    
    var joined = one + '喜欢' + name;
    alert(joined);  // "派大星喜欢海绵宝宝"
    

    2.字符串的字符方法

    • JavaScript 中方法与 Python 中字符方法比较
    功能 js python
    返回长度 .length len()
    移除两边空白 .trim() .strip()
    移除左边空白 .trimLeft() .lstrip()
    移除右边空白 .trimRight() .rstrip()
    返回第n个字符 .charAt(n) list[n]
    拼接 .concat(value,…) .join(), +
    子序列位置 .indexOf(substring, start) .index(), rindex(), .find(), .rfind()
    根据索引获取子序列 .substring(start , end) list[start, end, step]
    切片 .slice(start, end) list[start, end, step]
    小写 .toLowerCase() .lower()
    大写 .toupperCase(0 .upper()
    分割 .split(delimiter, limit) .split(sep, maxsplit), rsplit(sep, maxsplit)
    • 移除两边空白 : .trim(js) 与 .strip(py) 的区别

    python中除了移除空白, 还可以指定要移除的字符, js只能单纯的移除空白

    • 拼接 : .concat(value,…)(js) 与 .join()+(py) 的区别

    python 中使用+join()实现字符串的拼接

    使用+号的话数值不能直接和字符串进行拼接, join()中列表中元素必须是字符串类型(推荐用join)

    js 中使用+, 或者.concat()实现字符串的拼接, 当进行拼接时遇见数值类型会先换成字符串类型再进行拼接

    • 示例
     var str = 'hello world';  // 定义一个字符串
    
     console.log(str.length);  // 获取字符串的长度 : 11
     console.log(str.charAt(1));  // 用索引获取指定的字符 : "e"
     console.log(str.charCodeAt(1));  // 用索引获取指定字符对应的编码 : 101
     console.log(str.concat('派大星','海绵宝宝'));  // 拼接字符串, 一般不用, 一般使用 + 拼接
    
    console.log(str.slice(2));   // 从索引2往后面取 : "llo world"
    console.log(str.slice(2,4))  // 第一个参数是起始位置,第二个参数是结束位置,顾头不顾尾 : "ll"
     console.log(str.slice(-3,-1)); // 反向切片,相当于slice(8,10) : "rl"
     console.log(str.slice(8,10));  // "rl"
    
    console.log(str.substring(2)); // 从索引2往后面取 : "llo world"
    console.log(str.substring(2,4));// 第一个参数是起始位置,第二个参数是结束位置,顾头不顾尾 : "ll"
    
    console.log(str.substr(2));    // 从索引2往后面取 : "llo world"
    console.log(str.substr(2,4));  // 第二个参数是返回的字符数,4个就是往后取4个字符 : "llo "(llo后面有一个空格)
    
     console.log(str.indexOf('o'));  // 从前往后找第一个"o",索引为 : 4
     console.log(str.indexOf('o',6));// 从索引 6 开始找第一个"o", 找到索引为 : 7
    
     console.log(str.lastIndexOf('o'))// 从后面往前面找的第一个"o",索引为 : 7
     console.log(str.lastIndexOf('o',6));// 从索引 6 开始往前找第一个"o",索引为 : 4
    
     var str2 = '       hello world     ';
     console.log(str2.trim());  // 清除当前字符串的前后空格 : "hello world"
     console.log(str2);  // "       hello world     "
    
     var str3 = 'AAAAA';   // 转小写
     console.log(str3.toLowerCase());  // "aaaaa"
    
     var str4 = 'aaaaaa';   // 转大写
     console.log(str4.toUpperCase());  // "AAAAAA"
    

    三.数值与字符串的相互转换

    1.字符串转数值

    var str = '123.564864';  // 定义一个字符串
    var str2 = "123asd"
    
    console.log(parseInt(str)); // 将其转换成整形, 小数点后面不会转换, 后面是英文也不会转换 : 123
    console.log(parseInt(str2));  // 123
    console.log(parseFloat(str));  // 将其转化成浮点数,可以有小数点 : 123.564864
    console.log(typeof parseFloat(str));  // number
    console.log(Number(str));  // 将当前字符串进行解析,如果有字母会返回 NaN,否则返回值 : 123.564864
    
    var a = Number(str);
    console.log(isNaN(a));  // 检验是否返回 NaN,是则返回true,不是则返回false : false
    
    console.log(parseInt('123sdasdajs2312d'));  // 123
    console.log(parseInt('asdasdad123sdad'));   // NaN
    console.log(parseFloat('11.111faweff'));    // 11.111
    console.log(parseFloat('awefe11.11'));      // NaN
    

    2.数值转字符串

    var num = 1234
    
    // 隐式转换,数值与字符串拼接时,js底层会将数值先转换成字符串
    var a = num + "";
    var b = num + "hello";
    alert(typeof num);  // number
    alert(typeof a);  // string
    alert(typeof b);  // string
    console.log(typeof("".concat(num));  // string
    
    // toString( ) 强制类型转换
    console.log(num.toString());  // "1234"
    console.log(typeof num.toString());  // string
    console.log(String(num));  // 1234
    console.log(typeof String(num));  // string
    
  • 相关阅读:
    【linux基础】usleep和sleep的区别
    【算法基础】opencv函数approxPolyDP和Ramer-Douglas-Peucker Algorithm
    【算法基础】散点轮廓算法-Alpha Shapes
    【图像处理算法基础】图像分割经典算法-泛洪算法FloodFill
    .net core 部署在Linux系统上运行的环境搭建
    Linux部署Net Core网站,三种自定义绑定端口号的方法(UseUrls,UseKestrel,手动指定)
    .NetCore部署Linux环境搭建
    .Net Core 项目发布到Linux
    .Net Core 项目发布到Linux
    Linux桌面操作系统排行榜
  • 原文地址:https://www.cnblogs.com/songhaixing/p/14521065.html
Copyright © 2011-2022 走看看