js实现Java中的静态变量

js实现Java中的静态变量

在学习的过程中有个需求就是想实现静态变量,想在创建对象前后都能使用这个变量,编写的过程中得到了一下思考:

1.为什么要解决这个问题

答案:有时候并不想给函数创建一个对象,只想直接使用其中的静态变量,直接使用方法名.变量名得到函数的值,但是又想说可以在创建对象以后继续调用这个静态方法,这个时候需求就出来了。也就是说无论何时何地,我们都想使用这个方法,即使是在创建对象之后。虽然有点绕口,但是贴上代码就知道啦哈哈~~~QAQ

2.解决方法的选择:

a.我们想直接调用,那就可以使用对象字面量的方法定义,也就是直接在定义function以后直接function.变量名定义值,后面直接调用就可以。
b.然后我们想说创建对象之后也可以继续调用这个变量或者方法的话,这个时候就需要用prototype进行原型链的拓展,这样的话就能很轻易地在创建对象以后找到这个变量或者方法了。

3.代码的实现

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
</head>

<body>
    <script>
    function People() {
        this.name = "ZhongDagui";
    }
    People.TYPE = "people";  //单纯的对象字面量并不能创建对象后使用
    People.prototype.sayHello = People.sayHello = function() {
        return 'Hello';
    }; //对象字面量+原型链可以在创建对象前后都能使用
    console.log(People.sayHello()); //Hello
    console.log(People.TYPE); //people
    var xiaoming = new People();
    console.log(xiaoming.sayHello()); //Hello
    console.log(xiaoming.TYPE);  //undefined
    </script>
</body>

4.小结

第一篇博客可能会有很多不足的地方,希望博友们给我多提意见,我们一起
进步哈,加油努力干~~~(^_^)

©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值