箭头函数、普通函数、构造函数

js构造函数详解
js中箭头函数和普通函数的区别
箭头函数特点:
1)箭头函数内部的this对象,就是函数上下文中的对象,而不是调用时的对象,不能用call,appply等方法改变this指向。
2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
3)不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以用rest参数代替。
4)不可以使用yield命令,因此箭头函数不能用作Generator函数。

箭头函数用法:
1)使回调函数更简洁
2)搭配数组方法使用
不能使用的场景:需要用到函数方法中this的情况,不可作为构造函数使用

箭头函数没有函数名,不可以像普通函数一样作为构造函数使用,也不能用new创建实例类型。原因在于箭头函数中的this是固定的,在普通函数中this指向调用它的对象,而在箭头函数中,this永远指向其上下文。它的固定不是因为this绑定,是在于因为箭头函数没有自己的this,导致内部代码块的this就是外层代码块的this。因此箭头函数不能作为构造函数。箭头函数的 this 永远指向其上下文的 this ,任何方法都改变不了其指向,如 call() , bind() , apply()

构造函数通过“new 函数名”来实例化函数,任何的普通函数都可以作为构造函数使用,它们主要是从功能上来区分的。普通函数作为可以复用的代码,构造函数主要用来创建实例对象,特点是和new一起使用。在实践中通常使用首字母大写来区分。class 为构造函数的语法糖,即 class 的本质是构造函数,在执行时会转换为构造函数执行。

匿名函数

匿名函数是一个function关键字后没有标识符的函数表达式。通过匿名函数可以实现闭包。匿名函数模拟了块级作用域,执行完匿名函数后,存储在内存中的相应变量会被销毁。使用匿名函数可以减少全局变量,降低命名冲突。
缺点:调试困难,降低代码可读性。

this对象是在运行时基于函数执行环境绑定的,在全局函数中,this=window,在函数被作为某个对象的方法调用时,this等于这个对象。

匿名函数立即执行,也称为立即执行函数表达式(IIFE)

    // 无参数的匿名函数(function () {console.log('zxx')})();// 推荐使用(function () {console.log('zxx')}())// 带参数的匿名函数(function (a, b, c) {console.log('参数一:', a) // 参数一: 这是普通函数传参的地方console.log('参数二:', b) // 参数二: 我是参数二console.log('参数三:', c) // 参数三: zxx})('这是普通函数传参的地方', '我是参数二', 'zxx')//匿名函数赋值let zxx = function (zxx) {console.log(zxx)}('zxx')

匿名函数用法

    1.事件$('#zxx').onclick = function () {console.log('给按钮添加点击事件')}2.对象var obj = {name: 'zxx',zxx: function () {return this.name + ' is' + ' good girl'}}console.log(obj.zxx()) // zxx is good girl3.函数表达式var zxx = function () {return 'zxx is good girl'}console.log(zxx()) // zxx is good girl4.回调函数setInterval(function () {console.log('zxx is good girl')}, 1000)5.作为函数的返回值function zxx () {// 返回匿名函数return function () {return 'zxx'}}console.log(zxx()()) // zxx

new实现了什么

1、首先创一个新的空对象。
2、根据原型链,设置空对象的 _proto_为构造函数的 prototype ,并将this指向新创建的对象。
3、执行构造函数的代码(为这个新对象添加属性)。
4、返回这个对象。
对new理解:new 申请内存, 创建对象,当调用new时,后台会隐式执行new Object()创建对象。所以,通过new创建的字符串、数字是引用类型,而是非值类型。
new 被调用后大致做了哪几件事情?

前端面试问题(适用于面试回答思路)相关推荐

  1. 建设银行乡村振兴面试回答思路指南

    很多同学备考面试都会关心有哪些问题?怎么回答才更能容易得高分.今天给同学们举例一些高频面试问题及高分回答思路.根据如信银行考试中心发布: 一.请你介绍一下你自己? [回答思路] 1.先问好面试官,体现 ...

  2. 面试必问的16个经典问题的回答思路

    面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据.对应聘者而言,了解这些问题背后的"猫腻"至关重要.本文对面试中经常出现的一些典型问题进行了整理 ...

  3. 16个经典面试问题回答思路[求职者必看]

    试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据.对应聘者而言,了解这些问题背后的"猫腻"至关重要.本文对面试中经常出现的一些典型问题进行了整理, ...

  4. 面试技巧:16个经典面试问题回答思路(转)

    面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据.对应聘者而言,了解这些问题背后的"猫腻"至关重要.本文对面试中经常出现的一些典型问题进行了整理 ...

  5. 【果断收藏】16个经典面试问题及回答思路

    [果断收藏]16个经典面试问题及回答思路 面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据.对应聘者而言,了解这些问题背后的"猫腻"至关重要.本 ...

  6. 分享16个经典面试问题回答思路

    面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据.对应聘者而言,了解这些问题背后的"猫腻"至关重要.本文对面试中经常出现的一些典型问题进行了整理 ...

  7. 软件测试面试过程中的一些回答思路及技巧,学会了稳过

    目录 前言: 问题一:"请你自我介绍一下" 问题二:"谈谈你的家庭情况" 问题三:"你有什么业余爱好?" 问题四:"你最崇拜谁?& ...

  8. 人事面试问题回答思路

    (1)面试问题回答思路 面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据.对应聘者而言,了解这些问题背后的"猫腻"至关重要.本文对面试中经常出现 ...

  9. Solr面试回答思路

    Solr面试回答思路 是什么? 化繁为简的介绍一下这个技术是干嘛的 solr是基于Lucene的,主要用作全文检索. 同类型技术 ElasticSearch,这个时候很自然的需要去了解两种技术的简单区 ...

  10. 15个经典面试问题及回答思路,很多人死在了最后一个问题上

    阅读前请点击右上角"关注",每天免费获取职场文化及管理知识.职场千里马文化,只做职场干货,完全免费分享! 面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他 ...

最新文章

  1. sql针对某字段去重查询_sql针对某一字段去重,并且保留其他字段
  2. python面试-Python面试常问的10个问题
  3. 基于Mahout的电影推荐系统
  4. html5实现关灯效果,《第41天:JQurey - 关灯效果》
  5. 数据分析:主成分分析(PCA)1
  6. 使用 C# 9 的records作为强类型ID - 路由和查询参数
  7. adguard没有核心 core no_面试官:线程池如何按照core、max、queue的执行顺序去执行?...
  8. RTP格式图 NNEXB格式和RTP格式
  9. java安全(四) JNDI
  10. Java面试170题答案解析(1-20题)
  11. python输出生日程序_Python中:利用七段数码管输出自己的生日及系统当前时间
  12. wpf 自定义窗口,最大化时覆盖任务栏解决方案
  13. CUDA精进之路(三):图像处理——图像灰度化、灰度直方图统计
  14. JDownloader 2 for Mac(百度云无限速下载工具)内附安装教程,需要 macOS 11.x系统
  15. Oracle JDK收费理解
  16. IMDB 电影评论情感分类数据集
  17. 国内外酒店软件公司发展简介(转)
  18. java flv转mp3_Java调用ffmpeg转换视频格式为flv的示例详解
  19. Denoising point sets via L0 minimization
  20. 3的n次方在c语言中如何表示真和假,C程序作业答案

热门文章

  1. ARM汇编 字符串拷贝
  2. PAPR论文阅读笔记2之On the distribution of the peak-to-average power ratio in OFDM signals
  3. 2023最新资质证书系统网站源码/证书在线查询系统+支持WAP自适应
  4. opencv harris 角点检测
  5. 十问 Linux 虚拟内存管理 (glibc)
  6. 基于javaEE的公司人员管理系统
  7. html css高度自适应浏览器高度,Div + CSS高度自适应解决方法_html/css_WEB-ITnose
  8. java audiorecord_java – 如何将混响效果附加到AudioRecord / PCM数据并将其保存到文件?...
  9. SpringBoot使用PageHelper
  10. python绩点计算_Python爬虫实战(3):计算大学本学期绩点