29、js中this指向

this就是一个使用在作用域内的关键字

1.普通函数调用——》指向window

function fn(){console.log(this)    //Window
}
fn()

2.对象调用——》指向对象名

  var obj = {a: fn,};console.log(obj.a());

3.定时器函数调用——》指向window

setTimeout(function () {console.log(this);
}, 1000);

4.事件处理函数调用——》指向事件源

 document.onclick = function () {console.log(this);};

5.箭头函数调用——》指向父级作用域

           document.onclick = function () {console.log(this);var th = function () {console.log("this2", this);};th();};

6.构造函数调用——》指向实例对象

           function CreatObject(name, age) {this.name = name;this.age = age;console.log(this, this.name);}const o1 = new CreatObject();console.log(o1);

改变this指向

1.call(this新指向,参数1,参数2,参数3,,,)

立即执行

2.appply(this新指向,[参数1,参数2,,,])

立即执行

3.bind(this新指向,参数1,参数2,参数3)

不立即执行

         // function fn(a, b) {//     console.log(this);//     console.log(a, b);// }// fn();// //this指向改为document// fn.call(document, 10, 20);// function fn(a, b) {//     console.log(this);//     console.log(a, b);// }// fn(10, 20);// fn.apply(document, [10, 20]);function fn(a, b) {console.log(this);console.log(a, b);}var obj = {username: "tom",};document.onclick = fn.bind(obj);setTimeout(fn.bind(obj, 1, 3), 1000);

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

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

相关文章

Flutter 教程实战笔记

Flutter 实战教程笔记,个人觉得不错,特此整理,需要的小伙伴可以看看 01. 初学者须知02. 初识 Flutter03. Flutter 开发环境搭建 Windows 版04. 创建 Flutter 项目05. Flutter 编写一个 HelloWorld 程序06. Flutter Text Widget 文本组件的使…

npm安装依赖包报错,npm ERR! code ENOTFOUND

一、报错现象: npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/vue failed, reason: connect ETIMEDOUT 104.16.23.35:443 npm WARN registry Using stale data…

“点点通“餐饮点餐小程序-计算机毕业设计源码11264

"点点通"餐饮点餐小程序 XXX专业XX级XX班:XXX 指导教师:XXX 摘要 随着中国经济的飞速增长,消费者的智能化水平不断提高,许多智能手机和相关的软件正在得到更多的关注和支持。其中,微信的餐饮点餐小程序更…

《Exploring Aligned Complementary Image Pair for Blind Motion Deblurring》

这篇论文的标题《Exploring Aligned Complementary Image Pair for Blind Motion Deblurring》可以翻译为《探索对齐的互补图像对用于盲运动去模糊》。从标题可以推断,论文的焦点在于开发一种算法或技术,利用成对的图像来解决运动模糊问题,特别是在不知道模糊核(即造成模糊…

wifi preamble code, 前导码

WiFi packets 很神奇,自从802.11 协议诞生以来 就对信息传输 产生了无尽的影响, 闲来无事 看看wireless 空口包 发现 前导码 非常奇怪。 为什么前导码有两部分组成, 1. radiotap header 2. 802.11 radio information 并且 radiotap 是有在…

AIGC工具:IPAdapter和ControlNet 指导控制生成工具

ControlNet强调对生成过程的直接控制,如通过线条、边缘、形状等信息;而IPAdapter侧重于风格迁移和内容的间接引导。 IPAdapter 它专注于通过迁移图片风格来生成新的图像内容。IPAdapter的强项在于能够将一张图片的风格迁移到另一张图片上,实现风格融合,甚至可以进行多图风格…

CS110L(Rust)

1.Rust 语法总结 数值类型 有符号整数: i8, i16, i32, i64无符号整数: u8, u16, u32, u64 变量声明 声明变量: let i 0; // 类型推断let n: i32 1; // 显式类型声明 可变变量: let mut n 0; n n 1; 字符串 注意,let s: str "Hello world";…

React@16.x(62)Redux@4.x(11)- 中间件2 - redux-thunk

目录 1,介绍举例 2,原理和实现实现 3,注意点 1,介绍 一般情况下,action 是一个平面对象,并会通过纯函数来创建。 export const createAddUserAction (user) > ({type: ADD_USER,payload: user, });这…

WEB前端07-DOM对象

DOM模型 1.DOM概念 文档对象模型属于BOM的一 部分,用于对BOM中的核心对象document进行操作,它是一种与平台、语言无关的接口,允许程序和脚本动态地访问或更新HTML、XML文档的内容、结构和样式,且提供了一系列的函数和对象来实现…

工作边界感

工作边界 **明确工作边界****尊重他人的工作边界**:**建立有效的沟通机制**:**制定明确的规则和流程**:**保持开放和包容的心态**:**寻求专业支持**: 在程序员的日常工作中,会遇到很多边界问题。如果这些边…

【人工智能大模型】文心一言介绍以及基本使用指令

目录 一、产品背景与技术基础 二、主要功能与特点 基本用法 指令的使用 注意事项 文心一言(ERNIE Bot)是百度基于其文心大模型技术推出的生成式AI产品。以下是对文心一言的详细介绍: 一、产品背景与技术基础 技术背景:百度…

基于Gunicorn、Flask和Docker的高并发部署

1. 引言 你好,我是悦创。 随着互联网应用的不断发展,如何高效地处理高并发请求成为了每个开发者需要解决的关键问题。本文将详细介绍如何使用 Gunicorn、Flask 和 Docker 来实现一个高并发部署模型,确保应用在高并发情况下依然能够高效稳定…

NOMAD: Non-Exclusive Memory Tiering via Transactional Page Migration——论文泛读

OSDI 2024 Paper CXL论文阅读笔记整理 问题 随着可字节寻址存储设备的出现,如CXL内存、持久内存和存储类内存,分层存储系统已成为现实,不同层具有不同的特性,如速度、大小、功耗和成本。分层内存管理的核心是操作系统&#xff0…

vmware虚拟机中,Centos安装Docker,解决国内无法访问

背景 本文主要解决了centos 的yum源 无法更新 和 docker的 源 国内无法访问的问题。 本文环境:windows宿主机装了vmware虚拟机,虚拟机中安装了Centos,centos内装docker。其实可以直接在window装docker desktop for windows,但…

技术选型_001_应用场景及编程语言

文章目录 Web开发桌面应用数据分析 不同编程语言有不同的适用场景及生态,这里仅记录作为个人开发者接触过的场景,不考虑企业侧因素,完全从开发效率及性能,包大小等因素考虑,因目前个人只接触过应用层开发,后…

uniapp 获取自定义组件的高度

在 UniApp 中&#xff0c;要获取自定义组件的高度&#xff0c;可以使用uni.createSelectorQuery()方法结合res.node和res.height来实现。 首先&#xff0c;在父组件的代码中&#xff0c;给自定义组件添加一个 ref 属性&#xff0c;例如&#xff1a; <template><view…

VS C#类文件自动生成头部注释

VS C#类文件自动生成头部注释&#xff08;以VS2019为例&#xff09; 1、更新位置 E:\VS2019\vs_2019\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class 2、替换Class 原始文件 using System; using System.Collections.Generic; $if$ ($targetframeworkversion$ > 3.5…

【代码随想录】【算法训练营】【第58天 3】 [卡码103]水流问题 [卡码104]建造最大岛屿

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 卡码网。 day 58&#xff0c;周四&#xff0c;ding~ 题目详情 [卡码103] 水流问题 题目描述 卡码103 水流问题 LeetCode类似题目417 太平洋大西洋水流问题 解题思路 前提&#xff1a; 思路&#xff1a; 重…

Qt 制作安装包

记录使用Qt工具制作一个安装包的过程 目录 1.准备工作 1.1检查Qt Installer Frameworks是否安装 1.2.安装Qt Installer Frameworks 1.3准备release出来的exe dll等文件 2.创建打包工程所需要的文件及目录 2.1创建子目录 2.2 创建工程文件 2.3 创建config/config.xml …

数据结构第35节 性能优化 算法的选择

算法的选择对于优化程序性能至关重要。不同的算法在时间复杂度、空间复杂度以及适用场景上有着明显的差异。下面我将结合具体的代码示例&#xff0c;来讲解几种常见的算法选择及其优化方法。 示例 1: 排序算法 场景描述: 假设我们需要对一个整数数组进行排序。 算法选择: …