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知识库 -> 每日一道javascript面试题(七)你真的知道箭头函数吗 -> 正文阅读

[JavaScript知识库]每日一道javascript面试题(七)你真的知道箭头函数吗

前言

  • 我是小嘟,努力每天分享一道javascript相关的题目。
  • 希望对你有所帮助。
  • 觉得有用的话,请点赞支持,你的鼓励是我坚持下去的动力。

题目

var name = `I love ZYPC`;//反引号,es6里边的
const obj = {
    name:'hello',
    say:()=>{
        console.log("我是say1",this.name);
    }say2:function(){
        console.log("我是say2",this.name);
    }
}
obj.say1();//我是say1 I love ZYPC
obj.say2();//我是say2 hello

运行结果

在这里插入图片描述

代码分析

  • 这里的考点就是箭头函数和一般函数的区别。
  • 一般函数的this值谁调用它,它的this就指向谁(基本是这样,不排除其他特别的方法,详细的轻看你附件链接)。但有时调用的关系很多,一不小心就把this判断错了,所以this指向这个问题一时半会是很难理解透彻的。
  • 而箭头函数的this则很好理解,看定义:箭头函数的thiis指向外层函数作用域或者是全局作用域,它不满足谁调用就指向谁这个准则,它的this是由距离它最近的函数作用域或者是全局作用域决定的
  • 小嘟在这里再举一个例子
 var name = `I love ZYPC`;
 const obj = {
     name:'hello',
     say1:function(){
          console.log("我是箭头函数的外层函数",this);
          let arrow = ()=>{
              console.log("我是say1函数中的一个箭头函数",this.name);
             }
          arrow();
     },
     say2:function(){
          console.log("我是say2",this.name);
     }
}
obj.say1();
obj.say2();

在这里插入图片描述

  • 可以看到,say1中的箭头函数它打印的是obj对象的name,原因就是距离箭头函数最近的外层函数的this指向的是obj对象,如果把这个this改变,会是什么结果呢?
var name = `I love ZYPC`;
const obj = {
    name:'hello',
    say1:function(){
         console.log("我是箭头函数的外层函数",this);
         let arrow = ()=>{
             console.log("我是say1函数中的一个箭头函数",this.name);
         }
         arrow();
    },
    say2:function(){
         console.log("我是say2",this.name);
    }
}
obj.say1();
obj.say2();
obj.say1.call(window)

在这里插入图片描述

  • 总结箭头函数的this指向外层函数作用域或者是全局作用域

嘟嘟小课堂

  • typeof typeof null 打印结果是什么呢?

在这里插入图片描述

  • 从这个中我们知道,.在js中,每个类型是字符串类型的,如‘number’、‘string’、‘undefined’(它的值是undefined),例如上面的的 typeof null === ‘object’

附件

箭头函数和普通函数直通车👉 https://www.muyiy.cn/blog/3/3.2.html

我是小嘟,一个热爱学习但是很菜的学习者

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:37:53  更:2021-12-11 15:38:03 
 
开发: 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 8:47:38-

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