7天入门JavaScript,第二天

全局变量会削弱程序的灵活性。所以在javascript中,一个很关键的问题是要控制和避免全局变量.(减少全局污染)
方法一,在应用中只创建一个全局变量,然后把多个全局变量整理到这个命名空间下。
    这样可以减少和其他应用程序、组建、类库产生耦合。
方法二,使用闭包进行信息隐藏,
闭包
    内部函数可以访问外部函数的参数和变量。除了this 和 arguments
    function Test(num) {
        this.value = 100;
        var that = this;
        var inner = function() {
            alert(this +"--"+that);
            alert(that.value);    
            alert(num);    

        }
        inner();
    }
    new Test(123);


    var myObject = function() {
        var value = 100;
        return {
            increment : function (num) {
                value += typeof num === 'number' ? num : 1;
            },
            getValue : function() {
                return value;            
            }
        }
    }();
    alert(myObject.getValue());

 

 

JavaScript中的继承
  使用伪类 :
    
    var Person = function(name) {
        this.name=name;
    }

    Person.prototype.getName = function(){
        return this.name;
    }

    var person = new Person("lll");
    alert(person.getName());

    var Student = function(subject) {
        this.subject = subject;
    }

    Student.prototype = person;
    Student.prototype.getInfo = function() {
        return this.name +"--"+this.subject;
    }

    var student1 = new Student("math");
    alert(student1.getInfo());


    var student2= new Student("english");
    alert(student2.getInfo());

  原型(prototype) :(没有搞懂)

 

 

构造方法
    function Person(id,name,age,address){};
    更好的方式: 用对象封装参数
    function Person({id:id,name:name,age:age,address:address}){};

posted @ 2014-08-26 20:21  廖东海  阅读(161)  评论(0编辑  收藏  举报