共计 3326 个字符,预计需要花费 9 分钟才能阅读完成。
一.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
正文完