new的是函数不是对象,js中要注意(箭头函数的指向)

2024-02-19 21:48

本文主要是介绍new的是函数不是对象,js中要注意(箭头函数的指向),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最重要的就是判断函数是什么时候执行的。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>//箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定。意识是箭头函数定义的时候就已经确定了this的//指向了以后就不变了// var a = 11;// var obj = {//     a: 22,//     say: function () {//         console.log(this);//         console.log(this.a)//     }// }// obj.say(); //谁调用就指向谁// var b = 11;// var obj = {//     b: 22,//     // say: () => {//     //     console.log(this);//     //     console.log(this.b);//     // }//     haha: function () {//         console.log(this.b); //又指向了自己  对象的格式就是键值对//     }// }// obj.haha(); //输出的值为11.var c = 11function test1() {this.c = 22; //如果是通过new对象的方式,这个c就是对象的c和外面的c没有关系了//console.log(this);let d = () => {console.log(c);//console.log(this);//console.log(this.c + 'haha');};d();return 'hahahahaha'}var x = new test1(); //输出11,我这里其实new的只是构造方法,里面的this又指向了windows,输出11console.log(x); //它也不接返回值// x.d();// var x = test1(); //输出22// console.log(x);</script>
</head><body></body></html>

在这里插入图片描述
默认指向this和window指向的是同一个地址。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
函数执行this指向才有意义。

执行一个函数,就会有一个this执行(不管这个函数是不是嵌套在里面)

this指向可能相同,也可能不同。

在这里插入图片描述
只要看它是不是独立调用来确定this的指向。

在这里插入图片描述
在这里插入图片描述
判断this指向主要是判断函数是在哪里执行的。

在这里插入图片描述
在这里插入图片描述
父函数是有能力绝对子函数的this指向的。

在这里插入图片描述
在这里插入图片描述
当函数作为参数的时候,我们就可以把函数定义为回调函数。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
new返回的是实例之后的对象。

实例对象就是构造函数返回的this

new一个函数,生成一个实例化对象,这种函数就叫做构造函数。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只要是对象就可以通过对象调用,call调用,new调用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
箭头函数是不允许作为构造函数使用的。

在这里插入图片描述
1:11:39
大佬:https://www.bilibili.com/video/BV1NT4y1j7xH?p=2

这篇关于new的是函数不是对象,js中要注意(箭头函数的指向)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/726073

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.