String.raw`Hi\n${2+3}!`
// 实际返回 "Hi\\n5!",显示的是转义后的结果 "Hi\n5!"
String.raw`Hi\u000A!`;
// 实际返回 "Hi\\u000A!",显示的是转义后的结果 "Hi\u000A!"
3.实例方法:includes(), startsWith(), endsWith()
传统上,indexOf来判断一个字符串是否包含在那个一个字符串中。
includes()包含即可
startsWith() 需要从开头匹配
endsWith() 结尾匹配
let s = 'Hello world!';
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true
4.实例方法:repeat()
重复就是力量 返回一个新字符串 重复某字符串n次
'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""
4.实例方法:trim 拓展 trimStart() trimEnd()
es2019 对 trim 方法进行了补充 对字符的前部分 或后部分 除空
const s = ' abc ';
s.trim() // "abc"
s.trimStart() // "abc "
s.trimEnd() // " abc"
5.实例方法:replace 拓展 replaceAll()
es2019 对 replace 方法进行了补充 可以不采用/g对字符串进行整体替换
'aabbcc'.replaceAll('b', '\_')
// 'aa\_\_cc'
'aabbcc'.replace('b', '\_')
// 'aa\_bcc'
6.实例方法:padStart(),padEnd()
padStart()用于头部补全,padEnd()用于尾部补全
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'
函数的拓展
1.允许参数设置默认值
可以直接在函数声明后 设置默认值
function log(x, y = 'World') {
console.log(x, y);
}
log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello
2.箭头函数
var f = v => v;
// 等同于
var f = function (v) {
return v;
};
var f = () => 5;
// 等同于
var f = function () { return 5 };
var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
};
3.rest参数
ES6 引入 rest 参数(形式为…变量名),用于获取函数的多余参数
function add(...values) {
let sum = 0;
for (var val of values) {
sum += val;
}
return sum;
}
add(2, 5, 3) // 10
4.严格模式
ES2016 做了一点修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,那么函数内部就不能显式设定为严格模式,否则会报错。
5.name属性
var f = function () {};
// ES5
f.name // ""
// ES6
f.name // "f"
6.尾调用优化
尾调用是函数式编程的一个重要概念。
指函数的最后一步是调用另一个函数。
以下情况:不属于尾调用 第三种:等价于最后return undefined
// 情况一
function f(x){
let y = g(x);
return y;
}
// 情况二
function f(x){
return g(x) + 1;
}
#### css
1,盒模型
2,如何实现一个最大的正方形
3,一行水平居中,多行居左
4,水平垂直居中
5,两栏布局,左边固定,右边自适应,左右不重叠
6,如何实现左右等高布局
7,画三角形
8,link @import导入css
9,BFC理解
![](https://img-blog.csdnimg.cn/img_convert/eef4af91b599085d83b412007aacc14a.webp?x-oss-process=image/format,png)
#### js
1,判断 js 类型的方式
2,ES5 和 ES6 分别几种方式声明变量
3,闭包的概念?优缺点?
4,浅拷贝和深拷贝
5,数组去重的方法
6,DOM 事件有哪些阶段?谈谈对事件代理的理解
7,js 执行机制、事件循环
8,介绍下 promise.all
9,async 和 await,
10,ES6 的 class 和构造函数的区别
11,transform、translate、transition 分别是什么属性?CSS 中常用的实现动画方式,
12,介绍一下rAF(requestAnimationFrame)
13,javascript 的垃圾回收机制讲一下,
14,对前端性能优化有什么了解?一般都通过那几个方面去优化的?
![](https://img-blog.csdnimg.cn/img_convert/8ca01d60515ad9e63576570c87db5fc0.webp?x-oss-process=image/format,png)
9,async 和 await,
10,ES6 的 class 和构造函数的区别
11,transform、translate、transition 分别是什么属性?CSS 中常用的实现动画方式,
12,介绍一下rAF(requestAnimationFrame)
13,javascript 的垃圾回收机制讲一下,
14,对前端性能优化有什么了解?一般都通过那几个方面去优化的?
[外链图片转存中...(img-Wecs4vPm-1718554665108)]