javascript中使用单体结构模式。
定义命名空间
定义的时候可以使用逻辑“或”运算符可以在未找到一个属性的时候为其提供一个默认值;
var GiantCorp = window.GiantCorp ||{};
GiantCorp.Person=function(){
var name="张三";
return{
getName:function(){return name;},
printInfo:function(){alert(name);}
}
}();
1.使用匿名函数为Person 返回一个对象这样可以使用GiantCorp.Person.printIfo()调用printInfo函数。
2.var name是一个私有属性。
3.说明匿名函数处理,返回的是一个对象。匿名函数内部处理,作用域在函数内容。可以视为私有变量。
完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
var GiantCorp = window.GiantCorp ||{};
GiantCorp.Person=function(){
var name="张三";
return{
getName:function(){return name;},
printInfo:function(){alert(name);}
}
}();
</script>
</HEAD>
<BODY>
<script >
GiantCorp.Person.printInfo();
</script>
</BODY>
</HTML>
分享到:
相关推荐
单体模式可以用来划分命名空间,组织代码和避免代码冲突。 2. 工厂模式(Factory Pattern): 工厂模式提供了一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。它的主要作用是消除对象之间的耦合...
- **命名空间划分**:通过单体,可以创建一个逻辑上的命名空间,避免与全局作用域中的其他变量冲突。 - **封装浏览器差异**:可以通过单体模式来封装不同浏览器之间的差异,使代码更具兼容性。 - **代码组织**:单体...
变量的命名需要遵循标识符的命名规则,并且在JavaScript中,所有变量的声明都使用关键字var来完成。 JavaScript中的保留字是一些具有特殊意义,不能被用作变量名、函数名或任何标识符名称的关键字。它们包括如break...
单体是一个用来划分命名空间并将一些相关的属性与方法组织在一起的对象,如果她可以被实例化的话,那她只能被实例化一次(她只能嫁一次,不能二婚)。 单体模式是javascript里面最基本但也是最有用的模式之一。 ...
- 应用设计模式,如工厂模式、观察者模式等,以解决特定问题。 9. **错误处理和异常捕获**: - 使用`try...catch`进行异常处理,确保程序的健壮性。 - 在可能出现错误的地方进行边界检查,预防错误发生。 10. *...
### JavaScript设计模式详解 #### 面向对象基础 在JavaScript中实现面向对象编程(OOP)是提升代码质量和可维护性的关键。OOP的核心概念包括封装、继承和多态。 - **封装**: 封装是一种将数据和操作数据的方法捆绑...
对于JavaScript而言,模块化编程能够帮助开发者更好地组织代码,减少全局命名空间的污染,提高代码的可复用性和可维护性。 ##### 1.2 概念解读 随着前端技术的发展和JavaScript在Web开发中的广泛应用,开发者面临...
19. **模块设计模式**:工厂模式、单例模式、观察者模式等设计模式在模块化开发中广泛应用,它们提供了更高效的代码结构和交互方式。 20. **模块化最佳实践**:随着项目的增长,合理的模块划分和良好的模块架构能...
- 分享模块设计模式,如单例模式、工厂模式等。 第六天:动态导入与懒加载 - 了解动态`import()`语法,及其在优化应用性能上的作用。 - 应用动态导入实现按需加载,减少初始加载时间。 - 结合路由系统实现模块的懒...
AMD是JavaScript模块化的一种设计模式,特别是在大型复杂Web应用中,它强调异步加载模块。RequireJS是AMD模式的一个典型实现,它允许开发者在不阻塞用户界面的情况下加载依赖项。AMD通过`define`和`require`函数来...
它们不仅提供了一套组织和管理代码的体系,还定义了设计模式和最佳实践,帮助开发人员更高效地构建复杂的应用程序。本文将详细介绍JavaScript框架的分类以及它们各自的主要功能。 首先,根据内部架构和设计理念的...