编写一个JS组件来说说call和apply的用法
作者:ComPhilip 来源:经典论坛 发布时间:2008-11-23 17:11:00
标签:call,apply,组件,函数,用户
在一个群上看到好几次问到call和apply的作用,function这两个方法的效果大家都很容易理解,但一般很难让人深刻地理解使用它们的时机。
call和apply都有一个功能:改变函数的上下文,也就是在调用函数的同时,改变函数内部this的指向的对象。apply还可以向函数传递参数。如果一个函数的调用必须给定相应的参数,则只能够用apply方法。
下面通过编写一个JS组件来说明这两个方法在什么时机下使用,主要用在事件处理上。
在制作表单时,常常需要让用户输入一定范围内的数据,超出这个范围的数据视为非法。如人的年龄,世界上没有一个人的年龄为-1岁。如果采用下列列表让用户输入,列表可能太长而影响用户使用体验。我们可以使用一个文本框,让用户输入数据,然后验证。由于这种情况很常见,那么为用JS来编写一个组件,把一个文本框封装起来,实现验证逻辑,提高代码的可重用性。
完整的代码如下:
凡是私有的方法和成员我都以下划线(_)作为变量名的开头,使用类时,不应使用这些接口,否则会出现不正确的结果。
具体分析请往下看


猜你喜欢
- 见下:<% FOR i = 1 TO 1000 n =
- 前言体能状态先于精神状态,习惯先于决心,聚焦先于喜好。SHA算法简介1.1 概述SHA (Secure Hash Algorithm,译作安
- 目录一、使用JDBC连接数据库1.使用JDBC-ODBC桥驱动程序连接数据库2.下面进行代码演示3.注意点二、源码:一、使用JDBC连接数据
- 说到装饰器,就不得不说python自带的三个装饰器:1、@property 将某函数,做为属性使用@property 修饰,就是将方法,变成
- Mako是一个高性能的Python模板库,它的语法和API借鉴了很多其他的模板库,如Django、Jinja2等等。基本用法创建模板并渲染它
- 当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用
- 一、验证计算机服务列表中是否有MySQL服务(1)右击桌面上的计算机图标出现菜单列表选项,选中管理(有多种方式可以打开计算机本地服务列表,这
- 1. 腐蚀 & 膨胀1.1什么是腐蚀&膨胀腐蚀&膨胀是图像形态学中的两种核心操作腐蚀可以描述为是让图像沿着自己的边界
- 首次安装、运行MySQL时,你可能会遇到一些错误,使MySQL服务器不能启动。本节的目的是帮助你诊断并纠正这些错误。解决服务器问题时你的第一
- chr(13) 是一个回车Chr(10) 是一个换行符chr
- 前言在后端开发过程中与数据库打交道乃是家常便饭,有时候会遇到只要数据库中的某条数据的一部分,这个时候有两种方式:(1)把其读取出来后再进行相
- MongoDB是一个文档型数据库,是NOSQL家族中最重要的成员之一,以下代码封装了MongoDB的基本操作。MongoDBConfig.j
- django-allauth是集成的Django应用程序,用于解决网站身份验证,用户的注册登录及账户管理,以及第三方(社交)账户的身份验证。
- 目录CanalMaxwellDatabus阿里云的数据传输服务DTSCanal定位:基于数据库增量日志解析,提供增量数据订阅&消费,
- 本文实例为大家分享了python实现抠图的具体代码,供大家参考,具体内容如下其中使用了opencv中的grabcut方法直接上代码# enc
- 大家都遇到过验证码,随着灌水机的发展,验证码也是日新月异,验证码开始分了繁体简体,带着字母、符号,甚至开始了中文验证码,看到这样的验证码,估
- 引言关键!!!!使用loc函数来查找。话不多说,直接演示:有以下名为try.xlsx表:1.根据index查询条件:首先导入的数据必须的有i
- 说明字符串驻留是一种仅保存一份相同且不可变字符串的方法。不同的值被存放在字符串驻留池中,发生驻留之后, 许多变量可能指向内存中的相同字符串对
- 无聊刷日剧,看到签到断了好久,简单写了个脚本,通过模拟抓包的方式实现1、先登录到字幕组网站获取token2、用获取到的token登录到人人活
- 首先初始化页面$(function(){ $('#archives-table').bootstrapTable