JavaScript之类和对象相关知识

一、JS中的类

1、类的声明

function 类名(形参1,形参2....){
    this.属性名1 = 形参1;
    this.属性名2 = 形参2;
    .....
    this.属性名 = 函数
}

2、类的使用

var 对象名 = new 类名(实参1,实参2.....);

注意:js中类的内容只是对象的公共部分,每个对象还可以自定义的进行扩充。

3、类的继承(prototype关键字)

通过prototype关键字实现了不同对象之间的数据共享
作用1:实现某个类的所有子对象的方法区对象的共享,节省内存
作用2:类似链式继承

4、样例

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
    <meta http-equiv = "X-UA-Compatible" content = "ie-edge">
    <title>JavaScript之类和对象学习</title>
    <script>
        //1、类的声明--person
        function Person(name,age){
            this.name = name;
            this.age = age;
        }
        function User(uname,pwd){
            this.uname = uname;
            this.pwd = pwd;
        }
        //使用prototype
        Person.prototype.test = function(){
            alert("嘿嘿")
        };
        Person.prototype.user=new User();
        User.prototype.testUser = function(){
            alert("我是user")
        };
        //2、使用类
        var p1 = new Person("张三", 18);
        alert(p1.name);
        var p2 = new Person("李四", 20);
        alert(p2.name);
        alert(p1.test===p2.test);
        p1.user.testUser();
    </script>
</head>
<body>
    
</body>
</html>

二、JS创建自定义对象

1、作用

用来存储整体数据,不会在自定义对象中存储函数对象。同时js中的对象属性和内容是可以自定义的扩充的,不是依赖于类的声明的,类只是对象公共部分的一种声明,是为了节省代码的冗余的。

2、原因

很多时候我们没有办法预先知道一个对象应该有哪些属性,所以只能临时的创建一个对象来自定义属性存储数据,来保证数据的完整性。

3、创建自定义对象

var 对象名 = new Object();
    对象名.属性1 = 属性1;
    对象名.属性2 = 属性2;
    对象名.属性3 = 属性3;
   ....
                    
var 对象名 = {};
   对象名.属性1 = 属性1;
   对象名.属性2 = 属性2;
   对象名.属性3 = 属性3;
  ....

4、样例

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
    <meta http-equiv = "X-UA-Compatible" content = "ie-edge">
    <title>JavaScript之自定义对象</title>
    <script>
    //1、创建自定义对象
        var obj = new Object();
        obj.name = "张三";
        obj.age = 23;
        obj.test = function(){
            alert("我是obj");
        }
     
    </script>
</head>
<body>
    
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊凯瑞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值