扫码一下
查看教程更方便
以下是方法及其描述的列表。
序号 | 方法 | 描述 |
---|---|---|
1 | String.prototype.startsWith(searchString, position = 0) | 如果接收者以 searchString 开头,则返回 true; 该位置允许您指定要检查的字符串的起始位置。 |
2 | String.prototype.endsWith(searchString, endPosition = searchString.length) | 如果接收者以 searchString 开头,则返回 true; 该位置允许您指定要检查的字符串的起始位置。 |
3 | String.prototype.includes(searchString, position = 0) | 如果接收者包含 searchString,则返回 true; position 允许您指定要搜索的字符串的起始位置。 |
4 | String.prototype.repeat(count) | 返回接收者,连接计数次。 |
模板文字是允许嵌入表达式的字符串文字。 模板字符串使用反引号 (``) 而不是单引号或双引号。 因此,模板字符串可以写成
var greeting = `Hello World!`;
模板字符串可以使用占位符来使用 ${ }
语法进行字符串替换,如下所示。
var name = "Brendan";
console.log('Hello, ${name}!');
成功执行上述代码后会显示以下输出。
Hello, Brendan!
var a = 10;
var b = 10;
console.log(`The sum of ${a} and ${b} is ${a+b} `);
成功执行上述代码后会显示以下输出。
The sum of 10 and 10 is 20
function fn() { return "Hello World"; }
console.log(`Message: ${fn()} !!`);
成功执行上述代码后会显示以下输出。
Message: Hello World !!
模板字符串可以包含多行。
var multiLine = `
This is
a string
with multiple
lines`;
console.log(multiLine)
成功执行上述代码后会显示以下输出。
This is
a string
with multiple
line
ES6 包含用于原始字符串的标记函数 String.raw
,其中反斜杠没有特殊含义。 String.raw
使我们能够像在正则表达式文字中那样编写反斜杠。 考虑以下示例。
var text =`Hello \n World`
console.log(text)
var raw_text = String.raw`Hello \n World `
console.log(raw_text)
成功执行上述代码后会显示以下输出。
Hello
World
Hello \n World
标签是可以解释和处理模板文字的函数。 标签出现在模板文字的前面。 语法如下所示。
let output_fromTag = tagFunction `Template literal with ${variable1} , ${variable2}`
标记函数实现语法如下
function tagFunction(literals,...variable_values){
//process
return "some result"
}
以下示例定义了一个标记函数 myTagFn()
。 它显示传递给它的参数。 显示后,它将完成返回给调用者。
function myTagFn(literals,...values){
console.log("literal values are");
for(let c of literals){
console.log(c)
}
console.log("variable values are ");
for(let c of values){
console.log(c)
}
return "Done"
}
let company = `Jiyik`
let company_location = `Mumbai`
let result = myTagFn `Hello this is ${company} from ${company_location}`
console.log(result)
上述代码的输出将如下所述
//literal
literal values are
Hello this is
from
//values
variable values are
Jiyik
Mumbai
Done
下面的标记函数采用模板文字并将其转换为大写,如下所示
function convertToUpperTagFn(literals, ...values) {
let result = "";
for (let i = 0; i < literals.length; i++) {
result += literals[i];
if (i < values.length) {
result += values[i];
}
}
return result.toUpperCase();
}
let company = `Jiyik`
let company_location = `Mumbai`
let result = convertToUpperTagFn `Hello this is ${company} from ${company_location}`
console.log(result)
上述代码的输出将如下所述
HELLO THIS IS JIYIK FROM MUMBAI
静态 String.fromCodePoint()
方法返回使用指定的 unicode 代码点序列创建的字符串。 如果传递了无效的代码点,该函数将抛出 RangeError
。
console.log(String.fromCodePoint(42))
console.log(String.fromCodePoint(65, 90))
成功执行上述代码后会显示以下输出。
*
AZ