当前位置: 代码迷 >> JavaScript >> Javascript含有私有属性的单例模式
  详细解决方案

Javascript含有私有属性的单例模式

热度:3   发布时间:2012-10-30 16:13:36.0
Javascript带有私有属性的单例模式
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
        <script>
        	var singleton = (function(){
			    var unique;
			    return {
			    	getinstance: function (){
				        if(!unique){
				            unique = construct();
				        }
				        return unique;
				    }
			    }
			    function construct(){
			        var _firstname, _lastname;
			        function _getFullName(){
			        	return _lastname + ' ' + _firstname;
			        }
			        return {
			            showFullName: function(){
			            	alert(_getFullName());
			            },
			            setFirstName: function(firstname){
			            	_firstname = firstname;
			            },
			            setLastName: function(lastname){
			            	_lastname = lastname;
			            }
			        };
			    }
			})();
			var ins1 = singleton.getinstance(),
				ins2 = singleton.getinstance();
			alert(ins1 === ins2);
			ins1.setLastName('王');
			ins1.setFirstName('强');
			ins1.showFullName();
			ins2.showFullName();
        </script>
    </body>
</html>
  相关解决方案