JS设计模式学习笔记一:对象收编变量 检测类

2024-06-18 12:58

本文主要是介绍JS设计模式学习笔记一:对象收编变量 检测类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.1函数基本形式(全局变量)

     function checkName(){    //验证姓名} function checkEmail(){  //验证邮箱}function checkPassword(){ //验证密码}

1.2函数的另一种形式 (全局变量)

   var checkName =function(){   //验证姓名}var checkEmail = function(){  //验证邮箱}var checkPassword=function(){ //验证密码} 

上面声明了多个函数也就是多个全局变量,当多人协作时,如果别人也定义了同样的方法或者自己定义了很多方法,就容易存在被覆盖的风险,且这种相互覆盖的问题是不容易察觉的。所以可以将它们放在一个变量里保存,这样就可以减少覆盖或被覆盖的风险,当然一旦被覆盖所有的功能都会失效,但这种现象很明显也容易察觉。

1.3 用对象收编变量:
可以创建一个检测对象,然后把函数方法放在里面:

   var CheckObject={checkName: function(){  //验证姓名},checkEmail:function(){  //验证邮箱},checkPassword:function(){ //验证密码}
}  

这里我们将所有函数作为CheckObject 对象的方法,这样我们就只有一个对象,而我们要想使用它们也很简单,比如检测姓名CheckObejct.checkName(),只是在我们原来使用的函数式前面多了个对象名称。

1.4 对象的另一种形式:
在JS中函数也是一种对象,所以可以有如下写法:

 var CheckObject = function(){};CheckObject.checkName = function(){//验证姓名
}CheckObject.checkEmail = function(){//验证邮箱
}CheckObject.checkPassword=function(){//验证密码
} 

使用和前面的方式是一样的,比如CheckObject.checkName(),但这个对象类在用new 关键字创建新的对象时,新创建的对象是不能继承这些方法的。

1.5 真假对象
如果想简单得复制对象,可以将这些方法放在一个函数对象中:

  var CheckObject = function(){return {checkName:function(){//验证姓名},checkEmail:function(){//验证邮箱},checkPassword:function(){//验证密码}}
}

var a = CheckObject();
a.checkEmail();

这篇关于JS设计模式学习笔记一:对象收编变量 检测类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072059

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre