class-实例方法和静态方法|学习笔记

简介: 快速学习 class-实例方法和静态方法

开发者学堂课程【React 入门与实战学习 class-实例方法和静态方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8095


class-实例方法和静态方法


一、新建实例

新建一个实例命名为07.class-实例方法和静态方法,删除复制06内的多余代码。

//当前在person内有两个实例属性分别是 name age

function Person (name, age){
this name = name
this.age = age

}//想为 person 加一个 say 方法应该怎么加?

应该加在原型对象上。如果放在 name 上那么每个实例身上都会有一个 say 方法,这样就不太好,比较浪费内存。应挂载到 person 上。// info 属性,直接挂载给了构造函数,所以它是静态属性 Person. info = 'aaaa'   //静态属性

//实例方法

//既然有实例方法也有静态方法,静态方法应该挂载到 person

Person. prototype.say = function(){

//say 方法已经挂载到原型对象上

//peraon 实例上不应该有 say 方法是应该在双向量_proto_身上有一个,展开_proto_可以验证 say 确实挂载到了原型对象上。

fconsole.1og('这是 Person ,的实例方法')
}    //
person 建一个 say 方法,用原型对象法创建。

//为什么叫实例方法,因为 say 方法可以批量访问

//静态方法

//静态方法也是挂载到构造函数的。
Person. show = function(){

console.log('这是Person的静态show 方法)
}
const p1 = new Person('王多多' ,18)
console.log (p1)

p1.say() //这是实例方法

//这是在构造原型对象上挂载了实例方法

p1.show()//P1肯定访问不到 show,这是静态方法访问不到的

//静态方法都挂载到构造函数了,并不在原型对象上

//Animal 内也有两个实例属性 name age

class Animal {
constructor (name, age) {

//onstructor 构造器指向构造函数。构造器也是一个对象,挂载了静态属性 info

//constructor 与静态属性平级。

//还有一个静态属性

infostatic info="eee""//(今后用的不多)
}

//这是动物的实例方法(今后会经常用到实例方法)

jiao(){

console.log('动物的实例方法')

}

//jiao 方法是一个挂载到实例对象上的方法。

//这是动物类的静态方法(今后用的不多)
static show() {

console.log('这是 Animal 的静态 show 方法')

}

//构造器和实例方法后面是用得比较多的

//加一个 static 就是静态方法了

const  a1 = new Animal('大黄'3)//打印一下 a1console.log (a1)

//打印 a1不应该有 jiao,是应该在他的原型对象上才有 a1.jiao() //这是实例方法

//Animal 上并没有 jiao 打开原型对象后才有。

Animal . show()

//开 Animal 原型对象_proto_是没有 show 的。

打开原型的原型也是没有 show 的。

show 方法被挂载到了原型构造器 constructor 上。

//通过 class 或构造函数直接.出来的是静态方法如果是 static 静态方法,实例是访问不到的。

如果没有 static 修饰,如 name,jiao 方法都是属于实例的。

相关文章
|
缓存 前端开发 JavaScript
前端常见的性能优化方案?
【7月更文挑战第14天】前端性能优化包括代码压缩、资源合并、图片优化、缓存策略和DOM操作改进。例如,压缩CSS、JS,懒加载图片,使用CDN,事件委托,启用HTTP/2,及利用性能工具进行评估和优化。目标是加快加载速度,提升用户体验和服务器效率。
422 2
|
Cloud Native Go Python
解决Pandas KeyError: “None of [Index([...])] are in the [columns]“问题
解决Pandas KeyError: “None of [Index([...])] are in the [columns]“问题
943 0
|
弹性计算 安全 Java
如何选择阿里云服务器公共镜像、自定义镜像、共享镜像、镜像市场、社区镜像?
如何选择阿里云服务器公共镜像、自定义镜像、共享镜像、镜像市场、社区镜像?阿里云服务器镜像根据来源不同分为公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像,一般没有特殊情况选择公共镜像,公共镜像是阿里云官网提供的正版授权操作系统,云市场镜像是在纯净版操作系统的基础上预装了相关软件及运行环境,自定义镜像是用户自己创建的镜像,共享镜像是其他阿里云账号共享给你的镜像,社区镜像由任意阿里云用户在镜像在社区发布的镜像。阿里云百科来详细说下阿里云服务器镜像种类以及选择方法:
435 0
|
应用服务中间件 容器
|
4天前
|
云安全 监控 安全
|
1天前
|
存储 机器学习/深度学习 人工智能
打破硬件壁垒!煎饺App:强悍AI语音工具,为何是豆包AI手机平替?
直接上干货!3000 字以上长文,细节拉满,把核心功能、使用技巧和实测结论全给大家摆明白,读完你就知道这款 “安卓机通用 AI 语音工具"——煎饺App它为何能打破硬件壁垒?它接下来,咱们就深度拆解煎饺 App—— 先给大家扒清楚它的使用逻辑,附上“操作演示”和“🚀快速上手不踩坑 : 4 条核心操作干货(必看)”,跟着走零基础也能快速上手;后续再用真实实测数据,正面硬刚煎饺 App的语音助手口令效果——创建京东「牛奶自动下单神器」口令 ,从修改口令、识别准确率到场景实用性,逐一测试不掺水,最后,再和豆包 AI 手机语音助手的普通版——豆包App对比测试下,简单地谈谈煎饺App的能力边界在哪?
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1121 6
|
11天前
|
机器学习/深度学习 人工智能 数据可视化
1秒生图!6B参数如何“以小博大”生成超真实图像?
Z-Image是6B参数开源图像生成模型,仅需16GB显存即可生成媲美百亿级模型的超真实图像,支持中英双语文本渲染与智能编辑,登顶Hugging Face趋势榜,首日下载破50万。
723 42
|
15天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1162 41

热门文章

最新文章