首页 > 其他分享 >js中的类

js中的类

时间:2022-11-11 16:15:07浏览次数:52  
标签:function 实例 作用域 js book class

image
为什么这里的checkObject方法可以被看成一个类呢。
因为js没有真正的类。
class A{
constructor(a,b){
this.a = a;
this.b = b
}
这个是类的定义。相当于
function a(a,b){
this.a = a;
this.b = b;
}
class本质就是个语法糖而已,s用function模拟的class,用prototype模拟的继承。

思考一个关于this的问题:
image
答:this的字面意思,就是我:我的标题,我的时间,我的类型
那么,function被谁调用,我就是谁
我就是实例
book引用了这个实例,我也引用了同样一个实例。
问:那么我可以说这里的this就是book这个变量吗,因为他指向了这个函数调用的结果。
答:不是,内存中的实例是没有名字的。book是一个变量,它引用了这个实例而已。而,this,也是一个变量,引用了同一个。
也就是说,别人喊他喊book,他自己称呼自己是this;
如上图,没有new关键字,说明他只是在当前的作用域下面跑了一个函数。而不是创建了一个内存对象。(这里的作用域指的就是function自己的作用域的。)
因此,用了new就是book变量指向了这个新开的内存对象 成为他的引用了。

标签:function,实例,作用域,js,book,class
From: https://www.cnblogs.com/1998Archer/p/16880794.html

相关文章

  • 【转载】package.json单独升级子依赖的版本
    原文:选择性依赖项解决package.json文件里的resolutions字段用于解析选择性版本,可以通过此功能自定义依赖版本。这通常需要手动编辑yarn.lock文件。你为什么要这么......
  • 【JSR269实战】之编译时操作AST,修改字节码文件,以实现和lombok类似的功能
    参考:https://blog.csdn.net/justry_deng/article/details/106176181maven编译不成功。笔者日常****:兄弟姐妹们,还是尽量少熬夜啊。我感觉我记性有所下降,难受。需求说......
  • js问号点的作用(?.)和问号问号(??)的用法
    参考:https://blog.csdn.net/qq_44943717/article/details/109890133js问号点的作用?.和??的用法**第一个:问号点(?.)****第二个:问号问号(??)**第一个:问号点(?.)来先看一段j......
  • Gson解析Json实例
          研究GSON花费了我一天的时间,期间出现了各种问题,第一次可以理解嘛,不过还好在安卓开发交流22群几位大神的帮助和我极大的耐心一下终于搞出来了,多谢几位大神,这里......
  • HTML5 网页 3D 场景制作之 Three.js 初体验 - 制作 3D 字体
    前言在学习Three.js之前,我们先来了解WebGL,因为WebGL是Three.js的基础和规范.那什么是WebGL呢?WebGL(全写WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把Ja......
  • 3D银河系例子动画js特效
    3D银河系例子动画js特效安装好nodejs就可以运行了。三个文件,全部源代码。链接:https://pan.baidu.com/s/1LjXFDZ9ocKL6ArZb9QWWtg?pwd=0011提取码:0011 ......
  • pdf.js打开后的pdf文件
    可用pdf.js在h5打开pdf文件。注意,在本地打不开,一定要在部署环境。方法:<ahref="../../pdf/web/viewer.html?file=../../pdf/1.pdf"target="_blank">文件</a>最重要的是h......
  • Android实战--解析稍复杂JSON数据DEMO
    废话不多说,直接上代码,布局文件:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_wid......
  • nextjs概述
    前言:nextjs是昨天真正开始了解,之前都是打酱油,原来这个框架是react,路由,参数传递,页面复用,服务端渲染等做得很好。 next.js作为一款轻量级的应用框架,主要用于构建静态网站......
  • fastjson1.2.47rce
    漏洞产生原因fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。  环境搭建......