1.this是静态的,this始终指向函数声明所在作用域下的this
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<body>
<script>
function getName(){
console.log(this.name);
}
let getName2 = () => {
console.log(this.name);
}
window.name = 'zs';
let obj = {
name: 'ls'
}
getName()
getName2()
getName.call(obj)
getName2.call(obj)
</script>
</body>
</html>
2.不能作为构造实例化对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<body>
<script>
let Person = (name,age) => {
this.name = name
this.age =age
}
let me = new Person('xiao',30)
console.log(me);
</script>
</body>
</html>
2.1 报错
3.不能使用 arguments 变量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<body>
<script>
let Fn = () => {
console.log(arguments);
}
Fn(1,2,3)
</script>
</body>
</html>
3.1 报错
4. 箭头函数的简写
4.1 省略小括号,当形参有且只有一个的时候
4.2 省略花括号,当代码只有一条语句的时候,此时 return必须省略,而且语句的执行结果就是函数的返回值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<body>
<script>
let add = n => {
return n+n
}
const rs = add(2,2)
console.log(rs);
let pow = n => n*n
const result = pow(3)
console.log(result);
</script>
</body>
</html>
4.3 结果