JS——字符串

常规操作:

  • 可以使用单引号或多引号来表示字符串。
var answer = "It's good to see you again!";
var carname = "Porsche 911";
var carname = 'Porsche 911';
  • Back-Tics语法

模板字面量使用反引号(``)而不是引号(“”)来定义字符串,这样可以在字符串中同时使用单引号和双引号。

let text = `He's often called "Johnny"`;

同时支持多行字符串

let text =
`The quick
brown fox
jumps over
the lazy dog`;
  • 使用\转义字符串中的引号。
var x = "中国是瓷器的故乡,因此 china 与\"China(中国)\"同名。"
  •  对长字符串换行的最安全做法(但是有点慢)是使用字符串加法:
document.getElementById("demo").innerHTML = "Hello" + 
"Kitty!";
  • 字符串中插入变量:

使用${变量名称}将变量值插入到字符串中,同时允许增加表达式。

let firstName = "Bill";
let lastName = "Gates";

let text = `Welcome ${firstName}, ${lastName}!`;
let price = 10;
let VAT = 0.25;

let total = `Total: ${(price * (1 + VAT)).toFixed(2)}`;
  • 创建方法:

请不要把字符串创建为对象,它会拖慢执行速度。new关键字使代码复杂化,也可能产生一些意想不到的结果。

//字面方式创建
var x = "Bill";
//关键词new定义为对象
var y = new String("Bill");

// typeof x 将返回 string
// typeof y 将返回 object
var x = "Bill";             
var y = new String("Bill");

// (x === y) 为 false,因为 x 和 y 的类型不同(字符串与对象)

因为创建的是对象,所以无法进行比较。

var x = new String("Bill");             
var y = new String("Bill");

// (x == y) 为 false,因为 x 和 y 是不同的对象

属性:

  • length(计算长度)

可返回字符串的长度。

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

 方法:

  • indexOf(查找首次出现文本)

    1. 返回字符串中指定文本首次出现的索引(位置);
    2. 从0开始计算位置
    3. 未找到文本返回-1
    4. 无法设置正则表达式
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China", 18);
//表示18位置以后开始检索。
  • lastIndexOf(查找最后出现文本)

    1. 和indexOf一样
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");
  • search(查找文本可使用正则)

var str = "The full name of China is the People's Republic of China.";
var pos = str.search("locate");
  • 索引提取

  • slice(索引提取)

  1. 提取字符串中某个部分并在新字符串中返回呗提取的部分。
  2. 两个参数,一个开始索引,一个结束索引。
  3. 如果某个参数为负,则从字符串的结果开始计数。
  4. 如果省略第二个参数,则该方法将剪切字符串的剩余部分。
  5. 负值位置不适用internetExplorer8及更早版本
var str = "Apple, Banana, Mango";
var res = str.slice(7,13);
var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);
var res = str.slice(7);
  • substring(索引提取)

  1. 不接受负值索引。其他和slice一样。
  • substr(索引提取)

  1. 不同之处在于第二个参数规定呗提取部分的长度。而不是结尾
  2. 第二个参数不能为负数
  3. 其他和slice相同
var str = "Apple, Banana, Mango";
var res = str.substr(7,6);
  • replace(替换)

  1. 不会改变原有字符串,而是返回一个新的字符串
  2. 默认只替换首个匹配,需要全局所搜,使用/g.
  3. 默认对大小写敏感,如需执行大小写不敏感的替换,使用正则的/i,写正则时不带引号。
str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");
str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");
str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");
方法 描述
anchor() 创建 HTML 锚。
big() 用大号字体显示字符串。
blink() 显示闪动字符串。
bold() 使用粗体显示字符串。
charAt() 返回在指定位置的字符。
charCodeAt() 返回在指定的位置的字符的 Unicode 编码。
concat() 连接字符串。
fixed() 以打字机文本显示字符串。
fontcolor() 使用指定的颜色来显示字符串。
fontsize() 使用指定的尺寸来显示字符串。
fromCharCode() 从字符编码创建一个字符串。
indexOf() 检索字符串。
italics() 使用斜体显示字符串。
lastIndexOf() 从后向前搜索字符串。
link() 将字符串显示为链接。
localeCompare() 用本地特定的顺序来比较两个字符串。
match() 找到一个或多个正则表达式的匹配。
replace() 替换与正则表达式匹配的子串。
search() 检索与正则表达式相匹配的值。
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
small() 使用小字号来显示字符串。
split() 把字符串分割为字符串数组。
strike() 使用删除线来显示字符串。
sub() 把字符串显示为下标。
substr() 从起始索引号提取字符串中指定数目的字符。
substring() 提取字符串中两个指定的索引号之间的字符。
sup() 把字符串显示为上标。
toLocaleLowerCase() 把字符串转换为小写。
toLocaleUpperCase() 把字符串转换为大写。
toLowerCase() 把字符串转换为小写。
toUpperCase() 把字符串转换为大写。
toSource() 代表对象的源代码。
toString() 返回字符串。
valueOf() 返回某个字符串对象的原始值。
posted @   新兵蛋Z  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示