forked from zhufengzhufeng/2018.5.6es6
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path3.tmplStr.js
63 lines (57 loc) · 1.49 KB
/
3.tmplStr.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
let name = 'zfpx';
let age = 9;
let str = '(\'' + name + '\')' + '今年(' + age + ')岁了';
console.log(str);
// ------------------------
let name = 'zfpx';
let age = 9;
let str = `('${name}')今年(${age})岁了`
console.log(str);
// 模拟一个模板字符串的实现
let name = 'zfpx';
let age = 9;
let str = '(\'${name}\')今年(${age})岁了'
str = str.replace(/\$\{([^}]*)\}/g, function () {
return eval(arguments[1])
});
console.log(str);
// 带标签的模板字符串 (自定义模板规则)
let name = 'zfpx';
let age = 9;
function fn(strings) {
let args = Array.prototype.slice.call(arguments, 1);
let str = '';
for (let i = 0; i < args.length; i++) {
str += (strings[i] + `('${args[i]}')`);
}
str += strings[strings.length - 1]
return str;
}
let str = fn`hello,${name}今年${age}岁了`;
console.log(str);
// 模板字符串 可以换行
let [name, age] = ['珠峰', 9];
function pre(value) {
return '$' + value
}
let ul = `<ul>
<li>${pre(name)}</li>
<li>${pre(age)}</li>
</ul>`
console.log(ul);
// 以后尽量用模板字符串
// statsWith
//indexof
let str = 'http://www.html5train.com';
console.log(str.startsWith('http'));
console.log(str.endsWith('com'));
console.log(str.includes('html5'));
console.log('1'.repeat(1000));
// padStart padEnd 补位
let date = new Date();
let y = date.getFullYear();
let m = date.getMonth()+1;
let d = date.getDate();
let str = `${y}年${m.toString().padEnd(2, 0)}月${d.toString().padStart(2, 0)}日`;
console.log(str);
// 字符串的方法