开发工具与关键技术: VS 与 ES6
作者:小明同学
撰写时间:2022 年 5 月 7 日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
箭头函数:
箭头函数的单个参数:
1、单个参数可以省略圆括号
const add = x => {
return x + 1;
};
console.log(add(1));
2、无参数或多个参数不能省略圆括号:
const add = () => {//无参数的时候 括号不能省略
return 1 + 1;
};
const add1 = (x, y) => {//多个参数的时候,括号不能省略
return x + y;
};
console.log(add1(1, 1));
3、单行函数体=>单行函数体可以同时省略 {} 和 return :
const add = (x, y) => {
return x + y;
};
//简写形式
const add=(x,y)=>x+y
console.log(add(1,4));//5
多行函数体不能再化简了
const add = (x, y) => {
const sum = x + y;
return sum;
};
4、单行对象 =>如果箭头函数返回单行对象,可以在 {} 外面加上 (),让浏览器不再认为那是函数体 的花括号
const add=(x,y)=>{
return{
sum:x+y
}
}
//简写形式: 在{}外面加上(),让浏览器不再认为那是函数体的花括号
const add = (x, y) => ({
value: x + y
});
非箭头函数中的 this 指向
1、全局作用域中的this指向:window对象
console.log(this);//全局作用域中的this指向window对象
2、一般函数中的this指向:调用的使用才能确定指向谁?
作为函数调用指向window对象,作为方法被调用的时候,指向调用方法的对象
'use strict';
function add(){
//严格模式下 this指向undefined
//非严格模式下指向的是 window对象
console.log(this);
}
add();//作为函数被调用的使用
'use strict';
const person={
name:'zhangsan',
add:add
}
function add(){
//作为方法被调用的时候,this 指向的是person对象
console.log(this)
}
//作为方法被调用的时候,this 指向的是person对象
person.add();
3、构造函数中的this的指向
//构造函数中的this指向的值构造函数内部创建的this
function createPerson(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
}
4、函数的call(),apply()方法中的this指向
const obj={
name:'xiaoming'
}
function fun1(){
console.log(this);
}
fun1.call(obj);//函数对象的call 函数中的this指向的是call()传入的对象
fun1.apply(obj);//函数对象的apply 函数中的this指向的是apply()传入的对象
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)