IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js匿名函数、箭头函数,区别 -> 正文阅读

[JavaScript知识库]js匿名函数、箭头函数,区别

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一旦被捕获,就不再发生变化。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:23:15  更:2021-12-24 18:25:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:26:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码