zoukankan      html  css  js  c++  java
  • js基础(闭包实例)

    1,常用发送短信的闭包实现:

    function sms() {
    	var count = 60;
    	return {
    		start: function() {
    			if(count == 0) {
    				count = 60;
    				document.getElementById("time").innerHTML = count;
    				return;
    			} else {
    				document.getElementById("time").innerHTML = count;
    				count--;
    			}
    			var that = this;
    			setTimeout(function() {
    				that.start();
    			}, 1000)
    		},
    		stop: function() {
    			count = 60;
    		}
    	}
    }
    var sms = sms();
    sms.start();
    

    2,匿名自执行函数 

    var data= {    
    	 msg: "Helloween "   
    };    
     (function(dm){    
    	console.info(dm.msg)
    })(data);
    

    3,封装

    var person = function(){    
        //变量作用域为函数内部,外部无法访问    
        var name = "default";       
    
        return {    
           getName : function(){    
               return name;    
           },    
           setName : function(newName){    
               name = newName;    
           }    
        }    
    }();    
    
    print(person.name);//直接访问,结果为undefined    
    print(person.getName());    
    person.setName("abruzzi");    
    print(person.getName()); 
    

    4,实现类和继承 

    function Person(){    
        var name = "default";       
    
        return {    
           getName : function(){    
               return name;    
           },    
           setName : function(newName){    
               name = newName;    
           }    
        }    
        };   
    
        var p = new Person();
        p.setName("Tom");
        alert(p.getName());
        var Jack = function(){};
        //继承自Person
        Jack.prototype = new Person();
        //添加私有方法
        Jack.prototype.Say = function(){
            alert("Hello,my name is Jack");
        };
        var j = new Jack();
        j.setName("Jack");
        j.Say();
        alert(j.getName());
    

      

  • 相关阅读:
    iOS系统中XML&JSON解析的代码实现
    ViewController之间如何传值
    如何归档自定义对象的数组
    一个小问题
    阶段性总结
    c语言以二进制的方式向文件读写一组数据
    C语言复杂声明,指针的复杂用法
    C语言中的getchar和putchar
    C语言结构体
    常量指针 和 指针常量
  • 原文地址:https://www.cnblogs.com/holdon521/p/8952057.html
Copyright © 2011-2022 走看看