2024大二上js高级+ES6学习9.23(严格模式,this指向和改变this指向,高阶函数)

news2024/9/30 23:04:17

9.23.2024  函数进阶

1.函数定义方式

2.函数的调用方式

3.函数的this指向

而普通函数、定时器函数。立即执行函数一般是window调用的

构造函数调用:原型对象中的方法是在实例对象调用这个方法时,才指向实例对象。

4.改变函数的this指向(call,apply,bind)

Call方法:可调用函数

Apply方法:可调用函数

Math对象中的方法只能应用在数字上,而数组对象Array的方法中不包含求最大值和最小值

伪数组指的是它传递的参数形式像数组,但是不是真正的数组(?)

Bind方法:不会调用函数

它会返回一个新函数,此时新函数的this已经改为指定 的this

对全局作用域和全局对象的概念分辨不清

在JavaScript中,全局作用域(Global Scope)和全局对象(Global Object)是两个相关但不同的概念。

全局作用域

全局作用域是指在所有函数之外定义的变量和函数的上下文。在全局作用域中声明的变量和函数可以在整个脚本中被访问,无论它们位于何处。在浏览器环境中,全局作用域中的变量和函数实际上是全局对象的属性。

全局对象

全局对象是一个特殊的对象,它包含了所有全局变量和全局函数。在不同的JavaScript环境中,全局对象可能有不同的名称:

  • 浏览器环境:全局对象通常是 window 对象。当你在浏览器中编写JavaScript代码时,全局作用域中的变量和函数都是 window 对象的属性。例如,如果你在全局作用域中声明了一个变量 var a = 10;,那么 window.a 也会等于 10。
  • Node.js 环境:全局对象是 global 对象。在Node.js中,全局变量和函数是 global 对象的属性。
  • Web Workers:每个worker都有自己的全局作用域和全局对象。
  • 严格模式:在严格模式(strict mode)下,全局作用域中的变量和函数不再是全局对象的属性。这意味着在严格模式下,this 关键字的值是 undefined 而不是全局对象。

事实上window全局对象中并没有添加a,b这两个属性(因为用let),如果用var 就可以用var a=1,b=2将a,b属性添加到window全局对象

用var:

用let:

在JavaScript中,let 和 var 都是用来声明变量的关键字,但它们之间有几个关键的区别,这些区别影响了变量的作用域、生命周期和如何被提升。

1. 作用域(Scope)

  • var:使用 var 声明的变量具有函数作用域或全局作用域。如果在一个函数内部声明,它只能在该函数内部访问。如果在函数外部声明,它将成为全局变量。
  • let:使用 let 声明的变量具有块级作用域。这意味着它们只在包含它们的代码块(如 if 语句、for 循环、函数等)内部可见。

2. 变量提升(Hoisting)

  • var:使用 var 声明的变量会被提升到它们所在作用域的顶部,但它们的赋值不会提升。这意味着在变量声明之前就可以访问它们,但会得到 undefined。
  • let:使用 let 声明的变量也会被提升,但与 var 不同的是,它们不会在代码执行前被初始化。在变量声明之前访问它们会导致一个 ReferenceError。

3. 重复声明

  • var:在同一作用域内,可以使用 var 多次声明同一个变量,每次声明都会覆盖之前的值。
  • let:在同一作用域内,不能使用 let 多次声明同一个变量,尝试这样做会导致语法错误。

Bind方法应用:

当应用了bind后,this.disabled的this指向的是btn

5.使用严格模式

6.高阶函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2180959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

体育馆智能化系统规划方案

1. 体育馆智能化系统规划概述 本文详细介绍了一个室内体育馆的智能化系统规划方案,旨在通过优化建筑结构、系统、服务和管理,创建一个高效、舒适、便利的环境。该体育馆按照国家三级乙等标准设计,总建筑面积约1.69万平方米,智能化…

基于深度学习的点云处理模型PointNet++学习记录

前面我们已经学习了Open3D,并掌握了其相关应用,但我们也发现对于一些点云分割任务,我们采用聚类等方法的效果似乎并不理想,这时,我们可以想到在深度学习领域是否有相关的算法呢,今天,我们便来学…

在树莓派上部署开源监控系统 ZoneMinder

原文:https://blog.iyatt.com/?p17425 前言 自己搭建,可以用手里已有的设备,不需要额外买。这套系统的源码是公开的,录像数据也掌握在自己手里,不经过不可控的三方。 支持设置访问账号 可以保存录像,启…

ST-GCN模型实现花样滑冰动作分类

加入深度实战社区:www.zzgcz.com,免费学习所有深度学习实战项目。 1. 项目简介 本项目实现了A042-ST-GCN模型,用于对花样滑冰动作进行分类。花样滑冰作为一项融合了舞蹈与竞技的运动,其复杂的动作结构和多变的运动轨迹使得动作识别成为一个具…

redis-数据类型

十大数据类型 学习 redis 操作手册 英文 Commands 中文 Redis命令中心(Redis commands) – Redis中国用户组(CRUG) 学习方法 举出一个数据结构的应用场景(理解数据结构特点),并操作&…

深度学习模型可视化工具 Netron 使用教程

Netron 介绍 Netron 是一个用于可视化机器学习模型、深度学习模型、神经网络、图模型(例如用于计算机视觉的 ONNX、Caffe、TensorFlow Lite、TensorFlow.js、Keras、Darknet、TVM、PyTorch、TorchScript、Core ML、ML.NET、NNEF、PaddlePaddle、OpenVINO、Arm NN等…

C++STL--------string

文章目录 一、STL介绍二、string1、constructor构造函数2、operator[]方括号运算符重载3、iterator迭代器4、reverse_iterator反向迭代器5、size和length6、capacity7、clear8、shrink_to_fit9、at10、push_back11、append 二、auto类型(C11)1、使用2、真正的价值 三、范围for(…

基于大数据技术的宠物商品信息比价及推荐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

自己做个国庆75周年头像生成器

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 下载相关代码:【免费】《自己做个国庆75周年头像生成器》代码资源-CSDN文库 又是一年国庆节,今年使用国旗做…

MFU简介

1、缩写 MFU - Mask Field Utilization(光刻掩膜版有效利用比例) GDPW - Gross Die Per Wafer,每张wafer上die的数量 2、什么是MASK 在光刻机中,光源(紫外光、极紫外光)透过mask曝光在晶圆上形成图…

华大HC32F448的FreeRTOS移植

为什么要移植FreeRTOS? 目前的程序只是前后台查询方式的架构,有些场合更适用FreeRTOS(免费使用)。 下载地址: 下载 FreeRTOS - FreeRTOS™ 相关知识入门: FreeRTOS™ - FreeRTOS™ (网址) FreeRTOSv9.0.0文件夹…

总结C/C++中内存区域划分

目录 1.C/C程序内存分配主要的几个区域: 2.内存分布图 1.C/C程序内存分配主要的几个区域: 1、栈区 2、堆区 3、数据段(静态区) 4.代码段 2.内存分布图 如图: static修饰静态变量成员——放在静态区 int globalVar 是…

ESXI识别服务器磁盘,虚拟机显示无效

ESXI识别服务器磁盘,虚拟机显示无效 系统意外断电识别不到磁盘的情况下可以管理-》硬件-》搜索磁盘名称,选择切换直通,则虚拟机正常。

COMP 6714-Info Retrieval and Web Search笔记week2

tokenizer:分词器 右半部分:倒排索引 Westlaw AND(&): 要搜索必须同时出现在文档中的两个或多个词语,请使用 AND(&)。例如,输入 narcotics & warrant&#x…

DialMAT:跨模态特征提取与对抗训练的结合

目录 一、背景介绍二、技术路线2.1 DialMAT的总体架构2.2 基于矩的对抗训练(MAT)2.3 跨模态并行特征提取参考文献 一、背景介绍 在智能体研究领域,一个重要的挑战是如何让智能体有效理解人类的语言指令并在实际环境中完成任务。尤其是在复杂环…

光通信——PON技术

PON网络结构 PON(Passive Optical Network,无源光网络)系统的基本组成包括OLT(Optical Line Terminal,光线路终端)、ODN(Optical Distribution Network,光分配单元)和ON…

机器学习基本上就是特征工程——《特征工程训练营》

作为机器学习流程的一部分,特征工程是对数据进行转化以提高机器学习性能的艺术。 当前有关机器学习的讨论主要以模型为中心。更应该关注以数据为中心的机器学习方法。 本书旨在介绍流行的特征工程技术,讨论何时以及如何运用这些技术的框架。我发现&…

Linux C 编程

Linux C 编程 在此推荐一个非常好的学习资料 统计文件单词数量 统计一个文件中的单词数量,可以将文件中的所有字符分为字母和分隔符。分隔符不属于单词内部,故定义一个状态机,来记录当前读取字符的状态。用 OUT 表示此字符不属于一个单词&…

【解决】Mac 上 M系列芯片用 Vmware Fusion安装 win11 遇到的主要的问题汇总

此文很短,没闲话,干活满满 Mac 版本最干净版本的 win11 免费下载链接 :链接:https://pan.quark.cn/s/4e8e8bb93564 本文实验电脑为:Macbook Air M3 第一个问题:如何解决安装Windows11时出现“这台电脑无…

Acwing 扩展欧几里得算法

1.扩展欧几里得算法 回忆:求最大公约数中学过欧几里得算法(辗转相除法):gcd(a,b) gcd(b, a % b); 裴蜀定理:对于任意正整数a,b,那么一定存在非零整数x,y,使得axbygcd(a,b); 扩展欧几里得算法:…