javascript核心技术(五十四)JS中类的定义及类的结构

[复制链接]
查看: 1670|回复: 31
发表于 2023-1-29 14:05:41 | 显示全部楼层 | 阅读模式
在其它编程语言中,类是一个非常重要的概念,但在JS中我们只做了解,因为它在实际生产环境中并不常用。
我们在这里讲JS中类的定义和使用语法,只是为了让大家见到这种语法后能够理解。
首先解释一下何为类:类即一类事物,例如人类、犬类、猫类,从类派生出来的东西叫对象,对象是类中具体的一个。
在JS中,类和构造函数的功能基本类似,可以这样说,JS中的类基本上就是构造函数的另一种写法,所以说,只要掌握了构造函数即可。

文本我们先来看如何定义一个类

<!DOCTYPE html>
<html>

<head>
        <title>JS中类的定义及类的结构</title>
</head>

<body>
        <script type="text/javascript">
        //使用class关键字 定义类,实例化得到对象
        class A{
                //构造方法
                constructor(){
                        //在构造方法中定义属性
                        this.age = 30;
                        
                }
                // static age=40;
                //实例方法
                say(){
                        console.log('我是A中实例方法say'+ this.age);
                }

                //静态方法 :不需要实例化对象,可以使用类名.方法() 调用
                static say(){
                        console.log('我是A中静态方法coding' + this.age);// this.age是undefined
                        // console.log(this); // this指向的是类A
                }
                //说明:静态方法和实例方法 名称可以相同,不会互相影响
                //调用时,各有各的写法
        }
        //静态方法的调用,由于没有实例化过程,构造方法中的代码不会自动执行。
        A.say();
        
        //调用实例方法
        var obj = new A();
        obj.say();
        </script>
</body>

</html>


解释一下:
静态方法的调用,由于没有实例化过程,所以构造方法中的代码不会自动执行,所在在静态方法say中使用this.age时输出undefined。
如果静态方法确实要使用类中的属性,需要在类中定义静态属性:static age=40;
静态方法和实例方法可以重名。
执行结果如下:

javascript核心技术(五十四)JS中类的定义及类的结构
易博软件介绍

0

主题

12

帖子

7

积分

营销入门

Rank: 2

积分
7
发表于 2023-2-22 23:09:19 | 显示全部楼层
写的不错。很受用

0

主题

24

帖子

13

积分

营销入门

Rank: 2

积分
13
发表于 2023-3-5 17:24:34 | 显示全部楼层
well

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-17 18:25:40 | 显示全部楼层
学海无崖,回头是岸...

0

主题

25

帖子

14

积分

营销入门

Rank: 2

积分
14
发表于 2023-3-25 23:41:35 | 显示全部楼层
  谢谢你给我上了一堂编程人生宝贵的一课,真是活到老,学到老。

0

主题

11

帖子

6

积分

营销入门

Rank: 2

积分
6
发表于 2023-4-1 12:03:57 | 显示全部楼层
谢谢你的经验。  非常感谢!

0

主题

18

帖子

10

积分

营销入门

Rank: 2

积分
10
发表于 2023-4-6 06:06:34 | 显示全部楼层
你写出了所有编程序人的心声  很好  我很受用  ~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~  @@@@@@@@@@^^

0

主题

21

帖子

11

积分

营销入门

Rank: 2

积分
11
发表于 2023-4-11 09:07:10 | 显示全部楼层
ding
发表于 2023-4-15 16:58:21 | 显示全部楼层
看了此帖,让我更加的感到我自身的不足`~~  我要更加努力的学习~学习~~  学海是无涯的`~~~

0

主题

18

帖子

10

积分

营销入门

Rank: 2

积分
10
发表于 2023-4-20 22:12:04 | 显示全部楼层
不错不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表