当前位置: 首页 > wzjs >正文

织梦网站字体大小重庆手机微信网站建设

织梦网站字体大小,重庆手机微信网站建设,搜索引擎营销的内容和层次有哪些,做程序员招聘的网站ES6 的箭头函数与普通函数的区别 箭头函数(Arrow Function)和普通函数有一些重要的区别,主要体现在以下几个方面: 1. 语法简洁性 - 箭头函数的语法更简洁,不需要使用 function 关键字。 - 普通函数需要使用 functi…

 ES6 的箭头函数与普通函数的区别

箭头函数(Arrow Function)和普通函数有一些重要的区别,主要体现在以下几个方面:

 1. 语法简洁性

   - 箭头函数的语法更简洁,不需要使用 `function` 关键字。
   - 普通函数需要使用 `function` 关键字来定义。

示例:
javascript// 箭头函数const sum = (a, b) => a + b;// 普通函数function sum(a, b) {return a + b;}

 2. `this` 的绑定

 - 箭头函数不会创建自己的 `this`,它会继承外部函数(词法作用域)的 `this` 值,即箭头函数的 `this` 会指向定义它的作用域中的 `this`。
   - 普通函数则会根据调用时的上下文来确定 `this` 的值。具体来说,如果是作为对象方法调用时,`this` 指向该对象;如果是直接调用,则 `this` 指向全局对象(在浏览器中为 `window`,在严格模式下为 `undefined`)。

示例:
javascriptfunction Person(name) {this.name = name;// 普通函数中的 `this` 会指向调用者this.sayHello = function() {console.log(this.name); // `this` 会指向 Person 实例};// 箭头函数中的 `this` 会继承外部的 `this`this.sayGoodbye = () => {console.log(this.name); // `this` 会指向 Person 实例(继承了构造函数的 `this`)};}const p = new Person('Alice');p.sayHello();    // Alicep.sayGoodbye();  // Alice

   在这个例子中,`sayGoodbye` 是箭头函数,所以它继承了 `Person` 构造函数的 `this`,指向 `p`(`new Person()` 的实例),而 `sayHello` 是普通函数,它的 `this` 仍然是调用时的上下文(此时也指向实例 `p`)。

 3. 是否可以作为构造函数

- 箭头函数不能用作构造函数。箭头函数没有 `prototype` 属性,因此不能用 `new` 操作符创建实例。
   - 普通函数可以作为构造函数,允许用 `new` 来实例化对象。

示例:javascript// 普通函数可以作为构造函数function Person(name) {this.name = name;}const p1 = new Person('Alice');console.log(p1.name);  // Alice// 箭头函数不能作为构造函数const PersonArrow = (name) => {this.name = name;};// 会抛出错误:PersonArrow is not a constructorconst p2 = new PersonArrow('Bob');


 

4. `arguments` 对象

- 箭头函数没有自己的 `arguments` 对象。它会继承外部函数的 `arguments` 对象。
   - 普通函数有自己的 `arguments` 对象,表示函数被调用时传入的参数。

示例:javascriptfunction regularFunction() {console.log(arguments);  // 正常函数的 arguments 对象}const arrowFunction = () => {console.log(arguments);  // 箭头函数继承外部作用域的 arguments};regularFunction(1, 2, 3);  // 输出: { '0': 1, '1': 2, '2': 3 }arrowFunction(1, 2, 3);    // 报错: arguments is not defined


 

箭头函数的 `this` 指向哪里

箭头函数中的 `this` 是**静态绑定**的,它的 `this` 值是由定义函数时的作用域决定的,而不是由调用函数时的上下文决定的。

1. 继承外部函数的 `this`:箭头函数没有自己的 `this`,它会继承外部函数的 `this` 值。这种行为与普通函数不同,普通函数的 `this` 是在调用时动态确定的。

2. 常见用法: 箭头函数常用于回调函数、事件处理等场景,避免了 `this` 的绑定问题,确保 `this` 指向外部函数中的上下文。

   示例:javascriptfunction Timer() {this.seconds = 0;setInterval(() => {this.seconds++;console.log(this.seconds);}, 1000);}

   const timer = new Timer();  // 由于箭头函数继承了 Timer 的 `this`,所以 `this.seconds` 会正确输出
   

 箭头函数能否用作构造函数?

不能。箭头函数不能用作构造函数,因为它没有 `prototype` 属性,不能使用 `new` 操作符实例化对象。

示例:
javascript
const MyConstructor = () => {this.name = 'Alice';  // 这里的 `this` 是静态绑定的,不是构造函数的实例
};const obj = new MyConstructor();  // 抛出错误: MyConstructor is not a constructor


 

如果你想使用构造函数创建实例,应该使用普通函数。

 总结

1. 箭头函数与普通函数的区别:
   - 语法更简洁;
   - `this` 绑定规则不同:箭头函数的 `this` 由外部作用域决定,而普通函数的 `this` 在调用时动态确定;
   - 箭头函数不能作为构造函数。

2. 箭头函数的 `this`: 箭头函数的 `this` 总是指向其定义时的外部作用域,而不是调用时的上下文。

3. 箭头函数能否作为构造函数:不能。箭头函数没有 `prototype`,因此不能使用 `new` 创建实例。


文章转载自:

http://1wwNTW8B.fdrwk.cn
http://bZkw46PF.fdrwk.cn
http://YDpMnZZE.fdrwk.cn
http://PEPByqq4.fdrwk.cn
http://B369QNfB.fdrwk.cn
http://C9Nr2EEs.fdrwk.cn
http://npMmsNSC.fdrwk.cn
http://INAySh36.fdrwk.cn
http://PRWzz56z.fdrwk.cn
http://VKxTWbrG.fdrwk.cn
http://tZCGSjpM.fdrwk.cn
http://35KWvLPx.fdrwk.cn
http://qJ4mtNYw.fdrwk.cn
http://VvlplHOi.fdrwk.cn
http://6NbOURSq.fdrwk.cn
http://jjNWziSi.fdrwk.cn
http://gLPHIdKE.fdrwk.cn
http://vfc52rAX.fdrwk.cn
http://Gdm7zW1G.fdrwk.cn
http://6XtK3Wfz.fdrwk.cn
http://49GwbbQZ.fdrwk.cn
http://kbBZEzQu.fdrwk.cn
http://2OAZ9gZf.fdrwk.cn
http://2YpsK0kF.fdrwk.cn
http://aV0jEjzE.fdrwk.cn
http://wqFv7NBC.fdrwk.cn
http://DfFd6bAS.fdrwk.cn
http://Zn19MeEM.fdrwk.cn
http://rcrwocOU.fdrwk.cn
http://HqOD2zmj.fdrwk.cn
http://www.dtcms.com/wzjs/681287.html

相关文章:

  • 定制营销型网站公司网站内外链建设
  • 保定哪有做网站的东莞做网站优化的公司
  • 企业网站建设合同书html5下载教程
  • 简述建站流程有什么好的书写网站
  • 上海网站建设开发公司哪家好网络认证登录页面
  • 比较好的网站开发公司学校学生网站模板下载
  • 单页型网站ifm网站做啥的
  • 网站建设现在市场大不大手机硬件开发
  • 寒亭区建设局网站dede 手机网站插件
  • 从网站开发到游戏编程网站模板服务商
  • 网站开发需要的知识现在开什么网站
  • 沈阳网站哪家公司做的好万网域名注册
  • 网站开发存在的风险百度集团总部在哪里
  • wordpress网站更改主题信息电商网站建设用php
  • 企业网站seo报价app网站平台搭建
  • 定制做网站费用creative建网站平台
  • 可以做微商的网站安阳门户网站
  • 泉州做网站价格宁波建设集团几个分公司
  • 广州市海珠区建设局网站wordpress升级文章编辑器
  • 做垂直平台网站天津网页设计教程
  • 电商网站如何设计内容frontpage官方下载
  • 免费领手机 网站saas 做网站
  • 山东移动网站建设ui设计网页设计培训
  • 建设企业网站官网下载东营网站建设运营公司
  • 制作网站团队知己知彼网站
  • 关于网站建设论文的结束语网易企业邮箱怎么修改绑定手机
  • 哈尔滨 网站建设公司wordpress评轮审核
  • 重庆网站开发企业html5网站app开发
  • 川畅科技联系 网站设计站长之家网站建设
  • html5 js全屏滑动网站源码网站建设方案策划书ppt