当前位置: 首页 > news >正文

函数的封装

从学习以来,我才初次意识到函数封装的重要性,以前还不时觉得封装函数或许是一件比较麻烦的事情。直到现在我才意识到自己彻底错了。就拿一个简单的例子来说吧。

//封装document.getElementById();
  
 function $() {
 var elements = new Array();
  
 for (var i = arguments.length - 1; i >= 0; i--) {
 var element = arguments[i];
  
 if (typeof element == "string") {
 element = document.getElementById(element);
 }
  
 if (arguments.length == 1) {
 return element;
 } else {
 elements.push(element);
 }
  
 return elements;
 };
 }; 

这是一个封装得到id的函数。大概过程是先new一个数组,再通过其长度来循环得到数组里面每一个元素。如果其类型是字符串就得到id的值。如果数组的长度等于1,就将其元素返回。否则再其后面追加一个元素,并返回。

通过这几天,我意识到函数封装的重要性,这样会给后续开发节约不少时间,也会使代码看起来更加清晰明了。虽然函数封装对于现在的我来说还是有很大的难度,但是自己想要有所作为的话,就还是需要不断学习,实现更好的函数封装。

转载于:https://www.cnblogs.com/w111/p/4641431.html

相关文章:

  • ASP.NET OWIN OAuth:refresh token的持久化
  • [译] 一、为何要推出AppCoda系列?
  • HDU4685 Prince and Princess 完美搭配+良好的沟通
  • 如果项目使用HOLO或加载V7包就会出现小按钮变大
  • Spring AOP在pointcut expression解析表达式 并匹配多个条件
  • 复合索引(组合索引)
  • 前端开发面试知识点大纲
  • Java+Windows+ffmpeg实现视频转换
  • 【算法学习笔记】83.排序辅助 动态规划 SJTU OJ 1282 修路
  • 基于Qt5.5.0的sql,C++备忘录软件的编写
  • IDFactory int类型ID生成器
  • SharePoint 2013 内容部署报错
  • 如何在CentOS6.5中进行PPPOE拨号上网
  • Ubuntu下安装Atom及使用
  • PHP读取超大文件的实例代码
  • [Vue CLI 3] 配置解析之 css.extract
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Java 最常见的 200+ 面试题:面试必备
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • node入门
  • npx命令介绍
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Terraform入门 - 1. 安装Terraform
  • Vue 动态创建 component
  • webpack4 一点通
  • 如何设计一个比特币钱包服务
  • 世界上最简单的无等待算法(getAndIncrement)
  • 推荐一个React的管理后台框架
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 阿里云服务器购买完整流程
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (待修改)PyG安装步骤
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (黑马C++)L06 重载与继承
  • @vue/cli脚手架
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [16/N]论得趣
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [BROADCASTING]tensor的扩散机制
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [C/C++随笔] char与unsigned char区别
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [HDU 3555] Bomb [数位DP]
  • [hdu 3746] Cyclic Nacklace [kmp]
  • [JS] node.js 入门
  • [LeetCode] Sort List
  • [PY3]——logging
  • [Pyhton]weakref 弱引用
  • [Socket]Unix socket 运行权限问题
  • [Symbol.toPrimitive](hint) hint 什么时候为 default?