大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
js匿名函数、箭头函数,以及他们的区别
- 匿名函数
- 箭头函数
- 区别
1.匿名函数
简单点说就是没有名字的函数,在声明函数时不写函数名称,(将函数赋值给变量)叫匿名函数。
匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。
//普通函数
// 1.定义方法
function buy(){
console.log('张三去买东西');
}
// 2.调用方法(不调用不执行)
buy()
//匿名函数
function (){
console.log('没有名字')
}
//会报错
没有名字的函数会报错,这时候用一个括号把它包起来就不会报错了,然后在最后面加一个括号就可以马上执行这个函数了——直接调用,也叫自执行函数。
作用: 避免多人开发时变量冲突,自执行函数只能调用一次。
//参数直接写在括号里
//写法1
(function (sum){
console.log("JavaScript"+sum);
})("你好")
//输出内容为 JavaScript你好
//写法2
~function(){
console.log('立即执行匿名函数!')
}()
//写法3
!function(){
console.log('立即执行匿名函数!');
}()
匿名函数不能够提前调用,会报错,需要在函数声明之后调用。
// 将函数赋值给变量,通过变量调用
var fn = function(){
console.log("hello js");
}
fn(); //输出 hello js
2.箭头函数
箭头函数表面上相当于匿名函数,并且简化了函数定义。
- 当箭头函数只包含一个表达式时,连{…} 和return都省略了。
//相加
x => x + x
//即 function (x){ return x + x }
- 不仅包含一个表达式时
(x,y) => {
return x + y;
}
3.区别
对比:
var x = function(){
console.log('普通匿名函数')};
var y = ()=>{
console.log('箭头函数')};
x();
y();
本质上都是函数,箭头函数是匿名函数的简写形式。最大区别就是this指向。
普通函数:this指向直接调用者,非严格模式下没有找到直接调用者就指向window(严格模式下this是undefined)。
箭头函数:
1.没有prototype(原型),所以箭头函数本身没有this。
2.不能当作构造函数,即不能使用new命令。
3.不能使用arguments对象,函数体内不存在该对象。可使用rest参数代替。
4.* 没有调用者,捕获其所在(即定义的位置)上下文的this值, 作为自己的this值。this一旦被捕获,就不再发生变化。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188718.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...