不知道大家有没有一种感觉,那就是自己写的javascript代码虽然能完全解决工作上的需要,但是,一眼望去,too simple!!!简直就是一个傻子都能看懂的水平,于是,在工作之余,我开始去收集一些几乎在日常开发中未曾用过的javascript写法/有价值的javascript知识点,借此来提高自身javascript水平。

一、函数式编程与面向对象编程

<script>
    /*函数式编程*/
    function f1(){
    var n=999;
    nAdd=function(){
            n+=1;
        };
    var f2 = function(){
      console.log(n);
    };
    return f2;
  }
  var result=f1();
  result(); // 999
  nAdd();
  result(); // 1000

    /*面向对象编程1之json写法*/
    var obj1 = {
        n:999,
        nAdd:function(){
            this.n += 1;
        },
        getN:function(){
            console.log(this.n);
        }
    };
    obj1.getN();//999
    obj1.nAdd();
    obj1.getN();//1000

    /*面向对象编程2之工厂模式*/
    var obj2 = function(){
        var obj = new Object;
        obj.n = 999;
        obj.nAdd = function(){
            this.n += 1;
        };
        obj.getN = function(){
            console.log(this.n);
        }
        return obj;
    };
    var objins = new obj2();
    objins.getN();//999
    objins.nAdd();
    objins.getN();//1000

    /*面向对象编程3之原型prototype*/
    function obj3(n) {
                this.n = n;
    }
    obj3.prototype.nAdd = function() {
        this.n+=1;
    };
    obj3.prototype.getN = function() {
        console.log(this.n);
    }
    var objins2 = new obj3(999);
    objins2.getN();//999
    objins2.nAdd();
    objins2.getN();//1000
</script>
View Code

相关文章:

  • 2021-08-07
  • 2022-01-03
  • 2021-09-14
  • 2022-12-23
  • 2021-10-25
猜你喜欢
  • 2021-11-21
  • 2022-12-23
  • 2021-09-10
  • 2021-06-20
  • 2022-12-23
  • 2022-12-23
  • 2021-09-13
相关资源
相似解决方案