<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>
分享到:
相关推荐
JavaScript设计模式是Web开发中的重要概念,它是一种在特定情境下解决编程问题的标准化方法,有助于提高代码的可维护性、可扩展性和可重用性。"Pro JavaScript Design Patterns_with_code"这个资源显然包含了关于...
- **带有原型的构造器**:通过扩展构造函数的原型对象,实现属性和方法的共享。 - **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。 - **模块模式**:封装一组相关功能,提供公共接口,隐藏内部实现...
JavaScript模式是一种在编程实践中形成的可重复使用的设计方案,...不断地学习和实践这些模式,将有助于成为一个更出色的JavaScript开发者。记住,设计模式不是银弹,但它们确实为解决复杂问题提供了宝贵的工具和思路。
3. **设计模式的应用**:例如工厂模式、单例模式、策略模式等。 #### 三、Web前端相关 1. **Java集合类及其应用场景**:如List、Set、Map等集合类的使用场景。 2. **JSP与Servlet的区别**:JSP主要用于动态页面...
标签用于加粗文本,但不带有任何额外的语义含义,仅用于视觉上的加粗效果。标签除了具有加粗的功能之外,还表示这部分内容的重要性。虽然两者在浏览器中呈现的效果相同,但从语义上来说,是用来表达重要性,而仅仅是...
如何显示带有图片的Alert对话框? Flex的Alert类默认不支持直接展示图片,但可以通过自定义Alert组件或者使用更高级的弹出窗口类(如ModalWindow)来实现这一需求。 ### 17. 解释Flex的单例模式和静态模式的区别...
模块模式则允许创建私有变量和方法,同时暴露公共接口,有助于代码组织和避免命名冲突。 CSS Reset,又称为CSS重置或CSS初始化,是Web开发中的一个关键实践。它旨在消除不同浏览器之间的默认样式差异,确保元素在...
- **设计模式**:单例、工厂、观察者、装饰者、代理等常见设计模式的应用场景和实现。 - **JVM优化**:内存调优,JVM参数设置,垃圾收集器的选择。 - **Java 8及以后的新特性**:Lambda表达式,Stream API,...
在TypeScript中,可以使用模块系统或者静态私有属性配合构造函数来实现单例。 2. **工厂模式**:提供一个创建对象的接口,但不指定具体的类。在TypeScript中,可以使用抽象工厂类或工厂函数来实现。 3. **抽象工厂...
- **嵌套类**:在另一个类的内部定义的类,可以访问外部类的私有成员。 - **枚举类**:用于定义一组固定的常量,可以包含方法和构造函数。 - **对象表达式和对象声明**:用于创建单例对象或匿名类。 - **委托**:...
#### 用JDBC编写带有事务处理的代码示例 使用JDBC进行数据库操作时,事务管理是非常重要的。以下是一个简单的示例: ```java Connection conn = null; try { // 建立连接 conn = DriverManager.getConnection(DB...