工具:函数

简介: 在JavaScript中,函数是可以带有方法的对象。Ext库提供的扩展会对Function对象——包括内建的函数、你定义的函数,这些都会继承。添加这些的方法能方便地绑定函数到特定的作用域。 Contents[hide] 1 作用域的重要性 2 委托和回调 2.

在JavaScript中,函数是可以带有方法的对象。Ext库提供的扩展会对Function对象——包括内建的函数、你定义的函数,这些都会继承。添加这些的方法能方便地绑定函数到特定的作用域。

Contents

[hide]

img_d05563fa34a9855c9c94ef41225fc3ec.png 作用域的重要性

在JavaScript中,你引用一函数,使之成为handler,和在C中使用函数指针有相类似的方式。这意味着默认情况下没有对象是绑定到对象的,并且this这个变量会是浏览器的window对象。如果要写OO的Javascript,那么这将会引起很多的误解和错误的出现。下列的Function方法允许你绑定一个对象到其所在的函数中(其this的指向引用),连同参数列表绑定到函数中。

img_d05563fa34a9855c9c94ef41225fc3ec.png 委托和回调

img_d05563fa34a9855c9c94ef41225fc3ec.png createDelegate

createDelegate(API参考)允许你将对象绑定一个在其作用域下的函数,亦可将特定的多个参数,写成数组传入到那个函数中去。可选地,这需要一个参数来指定是否将参数列表传入到这个数组中去。如果这个第三的参数没有传入,数组将是整个的参数列表。

例子:

 fn = func1.scope, arg1,arg2, 
fna,b,c === scope.a,b,c,arg1,arg2;
 
 fn = func1.scope, arg1,arg2
fna,b,c === scope.arg1,arg2;
 
 fn = func1.scope, arg1,arg2, 
fna,b,c === scope.a,arg1,arg2,b,c;

img_d05563fa34a9855c9c94ef41225fc3ec.png createCallback

createCallback (API参考) 允许你将多个参数绑定到一个函数。指定参数作为createCallback的变量便可。

例子:

 fn = func1.arg1, arg2;
fn === func1arg1, arg2

img_d05563fa34a9855c9c94ef41225fc3ec.png AOP功能

EXT库亦提供一些基础性的 aspect-oriented programming(AOP面向切面编程)机制。这意味着你选择的函数可在另一函数的之前或之后被调用,并根据外部结果动态改变执行流程链。当你欲扩展Ext内建函数的行为(behavior)时,利用该机制可无须继承或重载原Ext版本。使用下列两个方法,你可在某一函数之前或之后加上你想实现的功能。

img_d05563fa34a9855c9c94ef41225fc3ec.png createInterceptor

createInterceptor (API参考)允许你指定一个函数在这个函数之前调用。原函数的所有参数都会传入给它。如果它返回false,原函数将不会被调用。作用域的参数可选地使用。

img_d05563fa34a9855c9c94ef41225fc3ec.png createSequence

createSequence (API参考)允许你指定一个函数在这个函数之后调用。原函数的所有参数都会传入给它。作用域的参数可选地使用。

img_d05563fa34a9855c9c94ef41225fc3ec.png 延时执行

Ext提供了一个便捷的方法来封装JavaScript内置方法setTimeout。defer函数(API参考)允许你在某一定时间间隔之后执行函数,而且可指定执行所在的作用域,连同多个参数的传入一同被调用。

目录
相关文章
|
3月前
|
前端开发 程序员 开发者
自己封装的一些工具函数
自己封装的一些工具函数
|
8月前
|
Windows
使用dumpbin工具查看动态库中函数列表
使用dumpbin工具查看动态库中函数列表
371 0
|
6月前
|
JavaScript API
domutils 工具库的使用方法介绍
domutils 工具库的使用方法介绍
33 0
|
10月前
代码对比工具
代码对比工具
|
Serverless Python
函数计算中使用Python语言编写函数的运行环境信息——环境说明
函数计算中使用Python语言编写函数的运行环境信息——环境说明自制脑图
1024 0
函数计算中使用Python语言编写函数的运行环境信息——环境说明
|
数据安全/隐私保护 Python
python接口自动化(三十四)-封装与调用--函数和参数化(详解)
参数化的思维只需记住一点:不要写死,这样就便于维护,否则就会牵一发而动全身,一处修改导致处处修改,不便于维护。
1158 1
python接口自动化(三十四)-封装与调用--函数和参数化(详解)
|
JavaScript Serverless Shell
函数计算命令行行工具|学习笔记
快速学习 函数计算命令行行工具
72 0
 函数计算命令行行工具|学习笔记
|
Python
一日一技:多个Python项目怎么调用我自己的工具函数?
一日一技:多个Python项目怎么调用我自己的工具函数?
281 1
一日一技:多个Python项目怎么调用我自己的工具函数?
|
网络协议 C# C++
VS2017编写纯C库以及使用C#调用C库方法
VS2017编写纯C库以及使用C#调用C库方法
VS2017编写纯C库以及使用C#调用C库方法
|
缓存 Linux
7.16 Linux函数库(静态函数库和动态函数库)及其安装过程
Linux 系统中存在大量的函数库。简单来讲,函数库就是一些函数的集合,每个函数都具有独立的功能且能被外界调用。我们在编写代码时,有些功能根本不需要自己实现,直接调用函数库中的函数即可。
320 0
7.16 Linux函数库(静态函数库和动态函数库)及其安装过程