不积跬步,无以至千里;不积小流,无以成江海。
Vuejs语言基础
箭头函数:
一种定义函数的方式,允许使用“箭头”(=>)定义函数。
普通用法:
var f = a = > a
//等同于
var f = function(a){
return a;
}
如果不需要参数或需要多个参数,就使用一个圆括号代表参数部分:
//无形参
var f = () => 5;
// 等同于
var f = function () { return 5 };
//多个形参
var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
};
箭头函数的 this 与普通函数的区别:
1. 普通函数:调用时被决定;谁调用我,this就指向谁。
2. 箭头函数:定义时被决定;在哪个环境中,this就指向谁。
3. 匿名函数:匿名函数的执行环境是全局性的,因此this指向window。
<script>
// 问题: 箭头函数中的this是如何查找的?
// 答案: 向外层作用域中, 一层层查找this, 直到有this的定义.
// const obj = {
// aaa() {
// setTimeout(function () {
// console.log(this); // window
// })
//
// setTimeout(() => {
// console.log(this); // obj对象
// })
// }
// }
//
// obj.aaa()
const obj = {
aaa() { //-4
setTimeout(function () { //-2
setTimeout(function () { // -1 (谁执行这个方法)
console.log(this); // window-1
});
setTimeout(() => {
console.log(this); // window-2
});
});
setTimeout(() => {
setTimeout(function () { //-3
console.log(this); // window-3
});
setTimeout(() => {
console.log(this); // obj-4
});
});
},
};
obj.aaa();
</script>
博客借鉴:https://blog.csdn.net/qq_36260974/article/details/105643644
浙公网安备 33010602011771号