9021年末了,忽然想在这个最后一个月准备一下,试试机会,可否更进一步。因此开始准备一些基础知识,也随带总结出来给各位想换工做的同窗。但愿你们能找到本身想要的工做。祝你们好运! html
总结回顾web
let fn = () => {};
fn.prototype === undefined; //true
复制代码
let fn,
barObj = { message: 111 },
fooObj = { message: 222 };
function bar() {
// 运行时实例
fn();
}
function foo() {
// 定义时实例
fn = () => {
console.log('输出:', this); // 输出: {message: 222}
}
}
// 这里有一个问题就是,foo.call必定要在bar.call以前,你们想一想为何了?
foo.call(fooObj);
bar.call(barObj);
复制代码
let fn,
barObj = { message: 111 },
fooObj = { message: 222 };
function bar() {
// 运行时实例
fn.call({message: 333});
baz.call({message: 333})
}
function foo() {
// 定义时实例
fn = () => {
console.log('输出:', this); // 输出: {message: 222}
}
}
function baz() {
console.log('输出:', this); // 输出: {message: 333}
}
foo.call(fooObj);
bar.call(barObj);
// 这里如何能修改箭头函数this的指向了,咱们能够间接操做。
// 修改箭头函数的this指向定义时外层第一个普通函数的this,来达到咱们的目的
复制代码
let foo = () => {
console.log('输出:', arguments);
}
foo();
复制代码
function foo() {
console.log(arguments);
function boo () {
console.log(arguments);
function coo () {
console.log(arguments);
let aoo = () => {
console.log(arguments);
}
aoo('外层4');
}
coo('最外层3');
}
boo('外层2');
}
foo('外层1');
复制代码
let aoo = () => {
console.log(arguments);
}
let boo = new aoo();
复制代码
let a = () => {
console.log(new.target);
};
a();
复制代码
function foo(a, a) {
console.log(a, arguments);
}
var boo = (a, a) => {
console.log(a);
};
foo(1, 2);
boo(1, 2);
复制代码