函数的使用
// 1.定义函数的方式: function const aaa = function () { } // 2.对象字面量中定义函数 const obj = { bbb() { } } // 3.ES6中的箭头函数 // const ccc = (参数列表) => { // // } const ccc = () => { }
箭头函数参数问题
// 1.参数问题: // 1.1.放入两个参数 const sum = (num1, num2) => { return num1 + num2 } // 1.2.放入一个参数 const power = num => { return num * num } // 2.函数中 // 2.1.函数代码块中有多行代码时 const test = () => { // 1.打印Hello World console.log('Hello World'); // 2.打印Hello Vuejs console.log('Hello Vuejs'); } // 2.2.函数代码块中只有一行代码 // const mul = (num1, num2) => { // return num1 + num2 // } const mul = (num1, num2) => num1 * num2 console.log(mul(20, 30)); // const demo = () => { // console.log('Hello Demo'); // } const demo = () => console.log('Hello Demo') console.log(demo());
箭头函数中的this是如何查找的了?
向外层作用域中, 一层层查找this, 直到有this的定义.
// 什么时候使用箭头 // setTimeout(function () { // console.log(this); // }, 1000) // // setTimeout(() => { // console.log(this); // }, 1000) // 问题: 箭头函数中的this是如何查找的了? // 答案: 向外层作用域中, 一层层查找this, 直到有this的定义. // const obj = { // aaa() { // setTimeout(function () { // console.log(this); // window // }) // // setTimeout(() => { // console.log(this); // obj对象 // }) // } // } // // obj.aaa() const obj = { aaa() { setTimeout(function () { setTimeout(function () { console.log(this); // window }) setTimeout(() => { console.log(this); // window }) }) setTimeout(() => { setTimeout(function () { console.log(this); // window }) setTimeout(() => { console.log(this); // obj }) }) } } obj.aaa()
箭头函数和this的指向
最新推荐文章于 2023-04-06 22:24:44 发布