在JavaScript中,反引号†的工作原理与单引号相同。例如,我可以使用反勾号来定义这样的字符串:
var s = `abc`;
反勾号的行为与单引号的行为有区别吗?
†请注意,在程序员中,“backtick”是通常被称为严肃重音的一个名称。程序员有时也会使用“backquote”和“backgrave”这两个替代名称。此外,在Stack Overflow和其他地方,“backtick”的其他常见拼写是“back-tick”和“backtick”。
在JavaScript中,反引号†的工作原理与单引号相同。例如,我可以使用反勾号来定义这样的字符串:
var s = `abc`;
反勾号的行为与单引号的行为有区别吗?
†请注意,在程序员中,“backtick”是通常被称为严肃重音的一个名称。程序员有时也会使用“backquote”和“backgrave”这两个替代名称。此外,在Stack Overflow和其他地方,“backtick”的其他常见拼写是“back-tick”和“backtick”。
当前回答
这是一个非常有用的功能,例如这里有一个Node.js代码片段来测试3秒计时函数的设置。
const waitTime = 3000;
console.log(`setting a ${waitTime/1000} second delay`);
解释
将等待时间声明为3000 使用反勾号,你可以将“等待时间”除以1000的计算结果嵌入到你选择的文本的同一行中。 使用'waitTime'常量进一步调用计时器函数将导致3秒的延迟,如console.log参数中计算的那样。
其他回答
这是一个非常有用的功能,例如这里有一个Node.js代码片段来测试3秒计时函数的设置。
const waitTime = 3000;
console.log(`setting a ${waitTime/1000} second delay`);
解释
将等待时间声明为3000 使用反勾号,你可以将“等待时间”除以1000的计算结果嵌入到你选择的文本的同一行中。 使用'waitTime'常量进一步调用计时器函数将导致3秒的延迟,如console.log参数中计算的那样。
简介:
JavaScript中的反引号是ECMAScript 6 // ECMAScript 2015中引入的一个特性,用于制作简单的动态字符串。这个ECMAScript 6特性也被称为模板字符串文字。与普通字符串相比,它具有以下优点:
在模板字符串中允许换行,因此可以是多行。正常的字符串字面量(用" or ""声明)不允许有换行符。 我们可以使用${myVariable}语法轻松地将变量值插入到字符串中。
例子:
const name = 'Willem'; Const age = 26; Const story = ' 我的名字是:${name} 我是:${age}岁 ”; console.log(故事);
浏览器的兼容性:
所有主要浏览器厂商(Internet Explorer除外)都支持模板字符串字面值。所以在生产代码中使用它是相当安全的。浏览器兼容性的详细列表可以在这里找到。
除了字符串插值外,还可以使用反标记调用函数。
var sayHello = function () {
console.log('Hello', arguments);
}
// To call this function using ``
sayHello`some args`; // Check console for the output
// Or
sayHello`
some args
`;
检查样式组件。他们大量使用它。
反勾号包含模板字面值,以前称为模板字符串。模板字面量是允许嵌入表达式和字符串插值特性的字符串字面量。
模板字面量将表达式嵌入到占位符中,由$符号和表达式周围的花括号表示,即${expression}。占位符/表达式被传递给函数。默认函数只是连接字符串。
要转义反斜杠,在它前面加一个反斜杠:
`\`` === '`'; => true
使用反勾号更容易地编写多行字符串:
console.log(`string text line 1
string text line 2`);
or
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
vs.普通JavaScript:
console.log('string text line 1\n' +
'string text line 2');
or
console.log('Fifteen is ' + (a + b) + ' and\nnot ' + (2 * a + b) + '.');
转义序列:
Unicode转义由\u开始,例如\u00A9 由\u{}表示的Unicode码位转义,例如\u{2F804} 以\x开头的十六进制转义,例如\xA9 八进制文字转义由\和(a)数字(s)开始,例如\251
你也可以制作模板的模板,并达到私有变量。
var a= {e:10, gy:'sfdsad'}; //global object
console.log(`e is ${a.e} and gy is ${a.gy}`);
//e is 10 and gy is sfdsad
var b = "e is ${a.e} and gy is ${a.gy}" // template string
console.log( `${b}` );
//e is ${a.e} and gy is ${a.gy}
console.log( eval(`\`${b}\``) ); // convert template string to template
//e is 10 and gy is sfdsad
backtick( b ); // use fonction's variable
//e is 20 and gy is fghj
function backtick( temp ) {
var a= {e:20, gy:'fghj'}; // local object
console.log( eval(`\`${temp}\``) );
}