js实现Java中的静态变量

来源:互联网 发布:淘宝客a5淘客交流 编辑:程序博客网 时间:2024/05/22 20:30

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.小结

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