`
axiheyhey
  • 浏览: 4981 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics