MENU

JavaScript字符串操作

July 29, 2020 • Read: 246 • Node.js

申明

var str = 'kodonioda!';    // 申明了一个字符串
var str1 = new String("konodioda!"); // 申明了一个字符串对象,速度比上述方法慢

console.log(str);    // kodonioda!
console.log(str1);    // [String: 'konodioda!']

字符串长度

var str = 'kono dio da!';
console.log(str.length); // 12

查询字符串中的字符串

var str = 'kodo dio da!';
var locf = str.indexOf('dio');
var locl = str.lastIndexOf('dio');

console.log(locf); // 返回指定文本首次出现的位置
console.log(locl); // 返回指定文本最后出现的位置

// 如未找到,则都会返回 -1
// 支持匹配起点 str.indexOf('dio', beginPosition);

同时,search 方法也可以用来查找字符串,不同的是,search 方法能够支持正则表达式,但是不支持匹配起点

var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");

console.log(pos);

提取字符串操作

var str = 'kodo dio da!';

// slice(begin, end)
console.log(str.slice(0,3));
console.log(str.silce(-3, -1)); // 支持从尾部开始截取

// substr(begin, length)
console.log(str.substr(0, 8)); 
// 如果省略第二个参数,将一直截取到字符串结束

字符串替换

str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");
// 不会改变原字符串,只能替换首歌匹配

js并不支持高精度

超过15位的整数会被精确到15位(除非使用指数或者科学计数法)

小数可以支持到小数点后17位

另外晒一对难兄难弟

image-20200728234751908

字符串加法

var x = 10;
var y = 20;
var z = "The result is: " + x + y;
// 输出为The result is: 1020
----------------------------------
var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;
// 输出为3030

其他运算符

JavaScript会尝试将字符串转换为数字并进行运算(kotlin:真是糟糕的变量管理方式。python:嗯嗯,说的好)

var x = "100";
var y = "10";
var z = x / y;       // z 将是 10

NaN(非数值) 是数

===运算符

用作比较,但是需要两边的类型和值相同(对象无法比较)

Archives Tip
QR Code for this page
Tipping QR Code