js判定是否传入回调函数

JavaScript019

js判定是否传入回调函数,第1张

关于js回调函数,自己之前了解过,但是概念不是很清晰了,这里重新找几篇博客回顾一下概念,整理的感觉比较好的几个博客的总结的概念。方便复习。

js中的回调函数的理解:回调函数就是传递一个参数化函数,就是将这个函数作为一个参数传到另外一个主函数里面,当那个主函数执行完之后,再执行传递过去的函数,走这个过程的参数化的函数,就叫回调函数,换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数就叫做回调函数。

回调函数:函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。,这句话的意思是函数b以一个参数的形式传入函数a并执行,顺序是先执行a ,然后执行参数b,b就是所谓的回调函数。

function a(callback){

alert('a')

callback.call(this)//或者是 callback(), callback.apply(this),看个人喜好

}

function b(){ // 为回调函数。

alert('b')

}

//调用

a(b)

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

js中的回调函数:官方解释,当程序跑起来的时候,一般情况下,应用程序会时常通过API调用库里的所先预备好的函数,但是有些库函数,却要求应用先传给它的一个函数,好在适合的时候调用,以完成目标任务。这个被传入的,后又被调用的函数成为回调函数。

通常将一个函数B传入另外一个函数A,并且在需要的时候调用A.,说白了就是回溯函数,先定义好将要使用的函数体,饭后在使用在调用这个函数我们通常把callback作为一个参数传入定义的那个函数。下面我们看一段实现这个效果的js代码。

function Buy(name,goods1,callback) {

alert(name+' buy '+goods1)

if(callback&&typeof(callback)==="function")

callback()

}

Buy('xiaoming','apple',function(){

alert("shopping finish")

})

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

一个简单的代码,一开始不知道要买啥,等到买东西的时候,立即把之前定义好的函数调用出来,最好加上判断,因为一切的前提是callback必须是一个函数,输出结果为:

xiaoming buy apple

shopping finish

1

2

1

2

这样应该能理解什么是回调函数了吧。

打开CSDN,阅读体验更佳

JS中的 回调函数(callback)_前端小草籽的博客_js回调函数

1.什么是回调函数(callback)呢? 把函数当作一个参数传到另外一个函数中,当需要用这个函数是,再回调运行()这个函数. 回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码。

JS中什么是回调函数?_路过的假面骑士dcd的博客

参数可以拿来用,你也可以不用。形参,形式上的参数,并没有实际意义,只是帮你完成函数内部逻辑运算而设置的。 回调函数:被作为实参传入另一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数。 functiongreeting(name){...

JS回调函数——简单易懂有实例

 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。什么是JS?(点击查看) 下面先看看标准的解释: <script language="javascript">02 function SortNumber( obj, func ) // 定义通用排序函数 03 { 04 //...

继续访问

浅析JS中回调函数及用法

主要介绍了JS中回调函数及用法,通过实例代码给大家详细介绍了什么是回调函数,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

JS回调函数(callback)

浅谈JS回调函数

继续访问

JS中的 回调函数(callback)

目录1.什么是回调函数(callback)呢?2.回调函数有哪些特点?3.回调函数中this的指向问题4.为什么要用到回调函数?5.回调函数和异步操作的关系是什么?回调函数是异步么?把函数当作一个参数传到另外一个函数中,当需要用这个函数是,再回调运行()这个函数.回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码。(作为参数传递到另外一个函数中,这个作为参数的函数就是回调函数)理解:函数可以作为一个参数传递到另外一个函数中。 分析:add(1,

继续访问

js之回调函数

回调函数 回调函数被作为实参传入另一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数。 一个简单的例子 <script type="text/javascript">window.onload = function(){ // 回调函数 function a(m){ return m+m} console.log(a(3))//6 返回一个数据 console.log(a)//f a(m){return m+n} 返

继续访问

<Zhuuu_ZZ>HIVE(十一)函数

Hive内置函数一 Hive函数分类二 字符函数二 类型转换函数和数学函数三 日期函数四 集合函数五 条件函数六 聚合函数和表生成函数6.1 聚合函数6.2 表生成函数:输出可以作为表使用 一 Hive函数分类 从输入输出角度分类 标准函数:一行数据中的一列或多列为输入,结果为单一值 聚合函数:多行的零列到多列为输入,结果为单一值 表生成函数:零个或多个输入,结果为多列或多行 从实现方式分类 内置函数 自定义函数 UDF:自定义标准函数 UDAF:自定义聚合函数 UDTF:自定义表生成函数

继续访问

常见的开窗函数

开窗函数与聚合函数计算方式一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值,开窗函数可以为每组返回多个值。 开窗函数的语法为:over(partition by 列名1 order by 列名2 ),括号中的两个关键词partition by 和order by 可以只出现一个。over() 前面是一个函数,如果是聚合函数,那么order by 不能一起使用。 开窗函数主要分为以下两类: 窗口函数OVER()指定一组行,开窗函数计算从窗口函数输出的结果集中各行的值。

继续访问

开窗函数总结

4.2.1,表的数据 4.2.3,开窗函数查询 1,结果如下: 2,结果如下,可以参照这个结果进行理解rows和range的区别 3,结果如下,可以用于获取当前数据行的 上次登录时间 的需求 4,结果如下,结合lead()函数 可以获取用户 上次登录时间与下次登录时间的 需求 5,结果如下,可以用于指定时间内最新或最旧数据的需求。 6,结果如下,可用于求比例的需求 7,结果如下: 7,结果如下: 8,结果如下 9,结果如下: ,10,结果

继续访问

热门推荐 python中def用法

一、函数调用的含义 函数是类似于可封装的程序片段。允许你给一块语句一个名字,允许您在你的程序的任何地方使用指定的名字运行任何次数。 python中有许多内置函数,如len和range。 函数概念可能是任何有价值软件中最重要的块(在任何编程语言中)。 二、定义函数使用def关键字 在这个关键字之后是标识函数的名字; 其次是在一对括号中可以附上一些变量名; 最后在行的末尾...

继续访问

python map函数的作用_python语言基础之map函数,urlib.request,多线程

1.map函数map 是 Python 自带的内置函数,它的作用是把一个函数应用在一个(或多个)序列上,把列表中的每一项作为函数输入进行计算,再把计算的结果以列表的形式返回。map 的第一个参数是一个函数,之后的参数是序列,可以是 list、tuple。当 map 中的函数为 None 时,结果将会直接返回参数组成的列表。(python3中去掉了None,会报错)lst_1 = (1,2,3,4,...

继续访问

JS中什么是回调函数?

对于刚学JS的初学者来说(包括我现在的自己),对于这个回调函数真的是踩坑无数,于是乎想作为一个淋过雨的人,想为后面刚入门的人打一把伞。 本文不会用专业的知识词汇,只会用口语来简单让你有一个概念帮你浅浅的理解这个名词,如果你是一个学习JS刚遇到这个名词,正处于一脸懵逼的状态,那么本文对于会有帮助,但如果你想要研究更深层次的原理,用法和含义,可能本文不适合你。 废话不多说,让我们先看MDN的解释。 这段话,首先我们要搞懂一个东西,什么是实参。 我们都知道,函数可以接受参数,形参和实参。那么什么是

继续访问

js回调函数的两种写法

回调函数 应用程序时常会通过API调用库里所预先备好的函数。但是有些库函数(library function)却要求应用先传给它一个函数,好在合适的时候调用,以完成目标任务。这个被传入的、后又被调用的函数就称为回调函数(callback function)。 总结一下回调函数的两种写法与用法: 非参数回调函数: 这种回调比较简单 ,往往只需传一个函数名就可以。 function demo(arg,callback){ } 再来看看怎么写这个函数 在js中是可以通过函数名来调用函数的 例如: var

继续访问

【一句话攻略】彻底理解JS中的回调(Callback)函数

回调函数

继续访问

SQL开窗函数(窗口函数)详解

一、什么是开窗函数 开窗函数/分析函数:over() 开窗函数也叫分析函数,有两类:一类是聚合开窗函数,一类是排序开窗函数。 开窗函数的调用格式为: 函数名(列名) OVER(partition by 列名 order by列名) 。 如果你没听说过开窗函数,看到上面开窗函数的调用方法,你可能还会有些疑惑。但只要你了解聚合函数,那么理解开窗函数就非常容易了。 我们知道聚合函数对一组值执行计算并返回单一的值,如sum(),count(),max(),min(), avg()等,这些函数常与grou

继续访问

最新发布 Python中很常用的函数map(),一起来看看用法

Python2中map直接返回作用后的元素的列表 Python3中map返回的则是一个map对象 如果想得到列表对象,则还需要调用list转化为列表对象 Python2中,map()函数的 function 可以为None,如map(iterable1,iterable2[,...[,iterable n),其作用类似于将iterable*中的对应索引的值取出作为一个元组,最终返回一个包含多个元组的列表。而Python3中,不指定 function,就会报错。

继续访问

Oracle分析函数Over()

一、Over()分析函数 说明:聚合函数(如sum()、max()等)可以计算基于组的某种聚合值,但是聚合函数对于某个组只能返回一行记录。若想对于某组返回多行记录,则需要使用分析函数。 1、rank()/dense_rank over(partition by ... order by ...) 说明:over()在什么条件之上partition by 按哪个字段划分组; ...

继续访问

mysql开窗函数有哪些_mysql开窗函数

开窗函数:它可以理解为记录集合,开窗函数也就是在满足某种条件的记录集合上执行的特殊函数。对于每条记录都要在此窗口内执行函数,有的函数随着记录不同,窗口大小都是固定的,这种属于静态窗口;有的函数则相反,不同的记录对应着不同的窗口,这种动态变化的窗口叫滑动窗口。开窗函数的本质还是聚合运算,只不过它更具灵活性,它对数据的每一行,都使用与该行相关的行进行计算并返回计算结果。开窗函数和普通聚合函数的区别聚合...

继续访问

SQL:开窗函数(窗口函数)

4、 窗口函数 目录4、 窗口函数4.1 排序窗口函数rank4.2 rank(), dense_rank(), row_number()区别4.3 、排序截取数据lag(),lead(),ntile(),cume_dist()4.4 聚合函数作为窗口函数4.4、over(- - rows between and ) 简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般就是说的是over()函数,其窗口是由一个 OVER 子句 定义的多行记录 开窗函数一般分为两类,

继续访问

开窗函数(分析函数)使用详解

开窗函数 简介 开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数的使用使得这些经典的难题可以被轻松的解决。目前在 MSSQLServer、Oracle、DB2 等主流数据库中都提供了对开窗函数的支持,MySQL8.0支持。 5.7 -->8.0 开窗函数简介:与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个

继续访问

敲黑板啦!开窗函数你学会了吗

特征分析与偏移分析什么是开窗函数?学习目标:1、累计计算窗口函数(1)sum(…) over(……)(2)avg(…) over(……)(3)语法总结:2、分区排序窗口函数3、分组排序窗口函数4、偏移分析窗口函数练习总结: 什么是开窗函数? 开窗函数用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回...

继续访问

★常用文件扩展名列表

A 对象代码库文件

AAM Authorware shocked文件

AAS Authorware shocked包

ABF Adobe二进制屏幕字体

ABK CorelDRAW自动备份文件

ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)

ACE Ace压缩档案格式

ACL CorelDRAW 6键盘快捷键文件

ACM Windows系统目录文件

ACP Microsoft office助手预览文件

ACR 美国放射医学大学文件格式

ACT Microsoft office助手文件

ACV OS/2的驱动程序,用于压缩或解压缩音频数据

AD After Dark屏幕保护程序

ADA Ada源文件(非-GNAT)

ADB Ada源文件主体(GNAT);HP100LX组织者的约定数据库

ADD OS/2用于引导过程的适配器驱动程序

ADF Amiga磁盘文件

ADI AutoCAD设备无关二进制绘图仪格式

ADM After Dark多模块屏幕保护;Windows NT策略模板

ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件

ADR After Dark随机屏幕保护;Smart Address的地址簿

ADS Ada源文件说明书(GNAT)

AFM Adobe的字体尺度

AF2,AF3 ABC的FlowChat文件

AI Adobe Illustrator格式图形

AIF,AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式

AIFC 压缩AIF

AIM AOL即时信息传送

AIS ACDSee图形序列文件;Velvet Studio设备文件

AKW RoboHELP的帮助工程中所有A-关键词

ALAW 欧洲电话音频格式

ALB JASC Image Commander相册

ALL 艺术与书信库

AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件

ANC Canon Computer的调色板文件,包含一系列可选的颜色板

ANI Windows系统中的动画光标

ANS ANSI文本文件

ANT SimAnt For Windows中保存的游戏文件

API Adobe Acrobat使用的应用程序设计接口文件

APR Lotus Approach 97文件

常用文件扩展名及含义(B开头)

BIN 二进制文件

BK,BK$ 有时用于代表备份版本

BKS IBM BookManager Read书架文件

BMK 书签文件

BMP Windows或OS/2位图文件

BMI Apogee BioMenace数据文件

BOOK Adobe FrameMaker Book文件

BOX Lotus Notes的邮箱文件

BPL Borlard Delph 4打包库

BQY BrioQuery文件

BRX 用于查看多媒体对象目录的文件

BSC MS Developer Studio浏览器信息文件

BSP Quake图形文件

BS1 Apogee Blake Stone数据文件

BS_ Microsoft Bookshelf Find菜单外壳扩展名

BTM Norton 应用程序使用的批处理文件

BUD Quicken的备份磁盘

BUN CakeWalk 声音捆绑文件(一种MIDI程序)

BW SGI黑白图像文件

BWV 商业波形文件

BYU BYU的电影文件格式

B4 Helix Nuts and Bolts文件

常用扩展名及含义(C开头)

C C代码文件

C0l 台风波形文件

CAB Microsoft压缩档案文件

CAD Softdek的Drafix CAD文件

CAL CALS压缩位图;日历计划表数据

CAM Casio照相机格式

CAP 压缩音乐文件格式

CAS 逗号分开的ASCⅡ文件

CAT Quicken使用 的IntellCharge分类文件

CB Microsoft干净引导文件

CBI 二进制卷格式文件(用于IBM大型机系统)

CC Visual dBASE用户自定义类文件

CCA cc:邮件文件

CCB Visual Basic动态按钮配置文件

CCF 多媒体查看器配置文件,用于OS/2

CCH Corel图表文件

CCM Lotus cc:邮箱(例如“INBOX.CCM”)

CCO CyberChat数据文件

CCT Macromedia Director Shockwave投影

CDA CD音频轨道

CDF Microsoft频道定义格式文件

CDI Philip的高密盘交互格式

CDM Visual dBASE自定义数据模块文件

CDR CorelDRAW绘图文件;原始音频CD数据文件

CDT CorelDRAW模板

CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件

CEL CIMFast事件语言文件

CER 证书文件(MIME x-x509-ca-cert)

CFB Compton的多媒文件

CFG 配置文件

CFM CotdFusion模板文件;Visual dBASE Windows用户定制表单

CGI 公共网关接口脚本文件

CGM 计算机图形元文件

CH OS/2配置文件

CHK 由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片

CHM 编译过的HTML文件

CHR 字符集(字体文件)

CHP Ventura Publisher章节文件

CHT ChartViem文件;Harvard Graphics矢量文件

CIF Adaptec CD 创建器 CD映像文件

CIL Clip Gallery下载包

CIM SimCity 2000文件

CIN OS/2改变控制文件用于跟踪INI文件中的变化

CK1 iD/Apogee Commander Keen 1数据文件

CK2 iD/Apogee Commander Keen 2数据文件

CK3 iD/Apogee Commander Keen 3数据文件

CK4 iD /Apogee Commander Keen 4数据文件

CK5 iD /Apogee Commander Keen 5数据文件

CK6 iD /Apogee Commander Keen 6数据文件

CLASS Java类文件

CLL Crick Software Clicker文件

CLP Windows 剪贴板文件

CLS Visual Basic类文件

CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件

CMF Corel元文件

CMG Chessmaster保存的游戏文件

CMP JPEG位图文件;地址文档

CMV Corel Move动画文件

CMX Corel Presentation Exchange图像

CNF Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件

CNM Windows应用程序菜单选项和安装文件

CNQ Compuworks Design Shop文件

CNT Windows(或其他)系统用于帮助索引或其他目的内容文件

COB TrueSpace 2对象文件

COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释

COM 命令文件(程序)

CPD,CPE 传真覆盖文档

CPI Microsoft MS-DOS代码页信息文件

CPL 控制面板扩展名,Corel颜色板

CPO Corel打印存储文件

CPP C++代码文件

CPR Corel提供说明书文件

CPT Corel 照片-绘画图像

CPX Corel Presentation Exchange压缩图形文件

CRD Windows Cardfile文件

CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件

CRT 认证文件

CSC Corel脚本文件

CSP PC Emcee On_Screen图像

CSS 瀑布式表格文件

CST Macromedia Director Cast文件

CSV 逗号分隔的值文件

CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件

CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息

CUE Microsoft提示牌数据文件

CUR Windows光标文件

CUT Dr Halo位图文件

CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件

CWK ClarisWorks数据文件.

CWS ClarisWorks模块

CXT Macromedia Director受保护的(不可编辑的)投影文件

CXX C++源代码文件

常用扩展名及含义(D开头)

DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件

DB Borland的Paradox 7表

DBC Microsoft Visual FoxPro数据库容器文件

DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件

DBX DataBearn图像;Microsoft Visual FoxPro表格文件

DCM DCM模块格式文件

DCR 冲击波文件

DCS 桌面颜色分隔文件

DCT Microsoft Visual FoxPro数据库容器

DCU Delphi编译单元文件

DCX Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏

DC5 DataCAD绘图文件

DDF Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据

DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档

DEF SmartWareⅡ数据文件;C++模块定义文件

DEFI Oracle 7 卸载脚本文件

DEM 用于表示数字高度模型的USGS基准的文件

DER 认证文件

DEWF Macintosh Sound Cap/Sound Edit录音设备格式

DGN Macintosh 95 CAD绘图文件

DIB 设备无关位图

DIC 目录

DIF 可进行数据互换的电子表格

DIG DigiLink格式;Sound DesignerⅠ音频文件

DIR MacromediaDirector文件

DIZ 描述文件

DLG C++对话框脚本文件

DLL 动态链接库

DLS 可下载声音文件

DMD Visual dBASE数据模块文件

DMF X-Trakker音乐模块(MOD)文件

DOC FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档

DOT Microsoft Word文档模板

DPL Borland Delph3压缩库

DPR Borland Delphi工程头文件

DRAW Acorn的基于对象的矢量图像文件

DRV 驱动程序

DRW Micrografx Designer/Draw;Pro/E绘画文件

DSF Micrografx Designer VFX文件

DSG DOOM保存的文件

DSM Dynamic Studio音乐模块(MOD)文件

DSP Microsoft Developer Studio工程文件

DSQ Corel QUERY(查询)文件

DST 刺绣机图形文件

DSW Microsoft Developer Studio工作区文件

DTA Word Bank(世界银行)的STARS数据文件

DTD SGML文档类型定义(DTD)文件

DTED 地面高度数字数据(图形的数据格式)文件

DTF Symantec Q&A相关的数据库数据文件

DTM DigiTrakker模块文件

DUN Microsoft拔号网络导出文件

DV 数字视频文件(MIME)

DWD DiamondWare数字化文件

DWG AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式

DXF 可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件

DXR Macromedia Director受保护(不可编辑)电影文件

D64 Commodore的64位模拟磁盘图像文件

常用扩展名及含义(E开头)

EDA Ensoniq ASR磁盘映像

EDD 元素定义文档(FrameMaker+SGML文档)

EDE Ensoniq EPS磁盘映像

EDK Ensoniq KT磁盘映像

EDQ Ensoniq SQ1/SQ2/Ks32磁盘映像

EDS Ensoniq SQ80磁盘映像

EDV Ensoniq VFX-SD磁盘映像

EFA Ensoniq ASR文件

EFE Ensoniq EPS文件

EFK Ensoniq KT文件

EFQ Ensoniq SQ1/SQ2/Ks32文件

EFS Ensoniq SQ80文件

EFV Ensoniq VFX-SD文件

EMD ABT扩展模块

EMF Windows增强元文件

EML Microsoft Outlook Express邮件消息(MIME RTC822)文件

ENC 重演文件

ENFF 中性文件格式扩展名

EPHTML Perl解释增强HTML文件

EPS 压缩的PostScript图像

EPSF 压缩的PostScript文件

ERI ERWin文件

ERR 当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件

EPX ERWin文件

ESPS ESPS音频文件

EUI Ensoniq ESP家族的压缩磁盘映像

EVY 特使文档

EWL Microsoft Encarta文档

EXC Microsoft Word禁止字字典

EXE 可执行文件(程序)

常用扩展名及含义(F开头)

F FORTRAN文件

F2R Farandoyle线性模块格式

F3R Farandoyle分块线性模块格式

F77 FORTRAN文件

F90 FORTRAN文件

FAR Fradole Composer音乐模块(MOD)文件

FAV Microsoft Outlook导航条

FAX 传真类型图像

FBK Navison 金融备份

FCD 虚拟CD-ROM

FDB Navison 金融数据库

FDF Adobe Acrobat表单文档文件

FEM CADRE有限元素网络文件

FFA,FFL,FFO,FFK Microsoft快速查找文件

FFF GUS PnP银行文件格式

FH3 Aldus Freehand 3绘图文件

FIF Fractal图像文件

FIG REND386/AVRIL使用的文件格式

FITS CCD照相机图像;灵活图像传输系统

FLA Macromedia Flash电影

FLC Autodesk FLIC动画文件

FLF Corel Paradox产生的格式:Navison Financials许可文件;OS/2驱动程序文件

PLI Autodesk FLIC动画

FLT StarTrekker音乐模块(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel过滤器文件

FM Adobe FrameMaker文档

FMB Oracle4.0版或以后版本表单的二进制源代码文件

FML 文件镜象列表(GetRight)

FMT Oracle 4.0版或以后版本表单的文本格式;Microsoft Schedule+ 打印文件

FMX Oracle 4.0版或以后版本可执行表单

FND Microsoft Explorer保存的搜索文件(Find applet)

FNG 字体组文件(字体导航器,Font Navigator)

FNK Funk Tracker模块格式

FOG Fontographer模块字体

FON 系统字体

FOR FORTRAN文件

FOT 字体相关文件

FP FileMaker Pro文件

FP1 Flying Pigs for Windows数据文件

FP3 FileMaker Pro文件

FPT FileMaker Pro文件;Microsoft Fox Pro备注字体文件

FPX FlashPix位图

FRM 表单;Frame Maker或Frame Builder文档;Oracle可执行表(3.0版或早期版本);Visual Basic表单;WordPerfect Merge表单;DataCAD标志报表文件

FRT Microsoft FoxPro报表文件

FRX Visual Basic表单文本;Microsoft FoxPro报表文件

FSF fPrint Audit Tool文件格式

FSL Borland的Paradox 7表单;Corel Paradox保存的表单

FSM Parandoyle示例格式

FT Lotus Notes全文本索引

FTG 全文本搜索组文件,由Windows帮助系统查找时产生——可以删除,并在需要时重建起来

FTS 全文本搜索引文件,由Windows帮助系统查找时产生

FW2 Framework Ⅱ文件

FW3 Framework Ⅲ文件

FW4 Framework Ⅳ文件

FXP 经Microsoft FoxPro编译的源文件

FZB Casio FZ-1银行转储

FZF Casio FZ-1完全转储

FZV Casio FZ-1声音转储

常用扩展名及含义(G开头)

G721 Raw CCITT G.721 $bit ADPCM格式数据

G723 Raw CCITT G.723 3或5bit ADPCM格式数据

GAL Corel多媒体管理器相集

GCD Generic CADD绘画文件(后续版本)

GCP Ground Control Point(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程—CHIPS(copenhagen image processing system)使用这些文件

GDB InterBase数据库文件

GDM 铃声、口哨声和声音板模块格式

GED GEDCOM 系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画

GEM GEM元文件

GEN Ventura产生的文本文件

GetRight GetRight未完成的下载文件

GFC Patton&Patton FlowCharting 4 flowchart文件

GFI,GFX Genigraphics图形链接表示文件

GHO Norton 克隆磁盘映像

GID Windows 95全局索引文件(包括帮助状态)

GIF CompuServe位图文件

GIM,GIX Genigraphics图形链接介绍文件

GKH Ensoniq EPS家簇磁盘映像文件

GNA Genigraphics图形链接介绍文件

GNT 生成代码,Micro Focus属性格式里的可执行代码

GNX Genigraphics图形链接介绍文件

GRA Microsoft Graph文件

GRD 用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程—CHIPS(copenhagen image processing system)使用这些文件

GRF Grapher(Golden Software公司)图形文件

GRP 程序管理组

GSM Raw GSM 6.10音频流;Raw“byte aligned(比特对齐的)” GSM 6.10音频流;US Robotics语音调制解调器

GTK Graoumftracker(老)音乐模块(MOD)文件

GT2 Graoumftracker(新)音乐模块(MOD)文件

GWX,GWZ Cenigraphis图形链接介绍文件

GZ UNIX gzip压缩文件

常用扩展名及含义(H开头)

H C程序头文件

HCM IBM HCM配置文件

HCOM 声音工具HCOM格式

HCR IBM HCD/HCM产品配置文件

HDF 高级计算机应用程序本地中心(NCSA) geospatial Hierarchial数据格式文件

HED HighEdit文档

HEL Microsoft Hellbender格式保存的游戏文件

HEX Macintosh BinHex2.0文件

HGL HP图形语言绘图文件

HH 映射文件,包括一些话题ID和在帮助文件系统中话题的映射数字—允许运行中应用程序发送给用户合适的上下文帮助话题

HLP 帮助文件;Date CAD Windows帮助文件

HOG Lucas Arts的Dark Forces WAD文件

HPJ Visual Basic帮助工程

HPP C++程序头文件

HQX Macintosh BinHex 4.0文件

HST 历史文件

HT HyperTerminal(超级终端)

HTM,HTML 超文本文档

HTT Microsoft超文本模板

HTX 扩展HTML模板

HXM Descent2 HAM文件扩展

常用扩展名及含义(I开头)

ICA Citrix文件

ICB Targa位图文件

ICC Kodak打印机格式文件

ICL 图标库文件

ICM 图形颜色匹配配置文件

ICO Windows图标

IDB MSDev中间层文件

IDD MIDI设备定义

IDF MIDI设备定义(Windows 95需要的文件)

IDQ Internet数据查询文件

IDX Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook Express文件

IFF 交换格式文件;Amiga ILBM

IGES 初始图形交换说明文件

IGF 插入系统元文件

IIF QuickBooks for Windows交换文件

ILBM 位图图形文件

IMA WinImage磁盘映像文件

IMG GEM映像

IMZ WinImage压缩磁盘映像文件

INC 汇编语言或动态服务器包含文件

INF 信息文件

INI 初始化文件;MWave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装

INP Oracle 3.0版或早期版本的表单源代码

INRS INRS远程通信声频

INS InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备

INT 中间代码,当一个源程序经过语法检查后编译产生一个可执行代码

IOF Findit文档

IQY Microsoft Internet查询文件

ISO 根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件

ISP X-Internet签字文件

IST 数字跟踪设备文件

ISU InstallShield卸装脚本

IT 脉冲跟踪系统音乐模块(MOD)文件

ITI 脉冲跟踪系统设备

ITS 脉冲跟踪系统抽样,Internet文档位置

IV Open Inventor中使用的文件格式

IVD 超过20/20微观数据维数或变量等级文件

IVP 超过20/20的用户子集配置文件

IVT 超过20/20表或集合数据文件

IVX 超过20/20微数据目录文件

IW Idlewild屏幕保护程序

IWC Install Watch文档

常用扩展名及含义(J开头)

J62 Ricoh照相机格式

JAR Java档案文件(一种用于applet和相关文件的压缩文件)

JAVA Java源文件

JBF Paint Shop Pro图像浏览文件

JFF,JFIF,JIF JPEG文件

JMP SAS的JMPDiscovery表格统计文件

JN1 Epic MegaGames的Jill of the Jungle数据文件

JPE,JPEG,JPG JPEG图形文件

JS javascript源文件

JSP HTML网页,其中包含有对一个Java servlet的参考

JTF JPEG位图文件

常用扩展名及含义(K开头)

K25 Kurzweil 2500抽样文件

KAR 卡拉OK MIDI文件(文本+MIDI)

KDC Kodak光增强器

KEY DataCAD图标工具条文件

KFX KoFak Group 4图像文件

KIZ Kodak数字明信片文件

KKW RoboHELP帮助工程索引设计器中与主题无关的K开头的所有关键字

KMP Korg Trinity KeyMap文件

KQP Konica照相机本地文件

KR1 Kurzweil 2000抽样(多软驱)文件

KRZ Kurzweil 2000抽样文件

KSF Korg Trinity抽样文件

KYE Kye游戏数据

常用扩展名及含义(L开头)

LAB Visual dBASE标签文件

LBM Deluxe Paint位图文件

LBT,LBX Microsoft FoxPro标签文件

LDB Microsoft Access加锁文件

LDL Corel Paradox分发库

LEG Legacy文档

LES Logitech娱乐系统游戏配置文件(与REC文件一样)

LFT 3D Studio(DOS)放样文件

LHA LZH更换文件后缀

LIB 库文件

LIN DataCAD线型文件

LIS 结构化查询报告(SQR)程序产生的输出文件

LLX Laplink交换代理

LNK Windows快捷方式文件

LOG 日志文件

LPD Helix Nut和Bolt文件

LRC Intel可视电话文件

LSL Corel Paradox保存的库文件

LSP AutoLISP、CommonLISP和其他LISP语言文件

LST 列表文件

LU ThoughtWing库单元文件

LVL Parallax Software的 Miner Descent/D2 Level扩展

LWLO Lightwave分层对象文件

LWOB Lightwave对象文件

LWP Lotus WordPro 96/97文件

LWSC Lightwave视景文件

LYR DataCAD层文件

LZH LH ARC压缩档案

LZS Skyroads数据文件

常用扩展名及含义(M开头)

M1V MPEG相关文件(MIME“mpeg”类型)

M3D Corel Motion 3D动画文件

M3U MPEG URL(MIME声音文件)

MAC MacPaint图像文件

MAD Microsoft Access模块文件

MAF Microsoft Access表单文件

MAG 在一些日本文件中发现的图形文件格式

MAGIC 魔力邮件监视器配置文件

MAK Visual Basil或Microsoft Visual C++工程文件

MAM Microsoft Access宏

MAN UNIX手册页输出

MAP 映射文件;Duke Nukem 3D WAD游戏文件

MAQ Microsoft Access查询文件

MAR Microsoft Access报表文件

MAS Lotus Freelance Graphics Smart Master文件

MAT Microsoft Access表;3D Studio MAX材料库

MAUD MAUD抽样格式

MAX Kinetx的3DStudio MAX文件;该格式用于一个3D场景文件;Paperport文件;OrCAD设计文件

MAZ Hover迷路数据;Division的dVS/dVISE使用的文件格式

MB1 Apogee Monster Bash数据文件

MBOX Berkeley Unix邮箱格式

MBX Microsoft Outlook保存email格式;Eudora邮箱

MCC Dailerl0呼叫卡

MCP Metrowerks CodeWarrior工程文件

MCR DataCAD键盘宏文件

MCW Microsoft Word的Macintosh文档

MDA Microsoft Access内抽入器;Microsoft Access 2.0版及其后续版本的工作组事件

MDB Microsoft Access数据库

MDE Microsoft Access MDE文件

MDL 数字跟踪器音乐模块(MOD)文件;Quake模 块文件

MDN Microsoft Access空数据库模板

MDW Microsoft Access工作组文件

MDZ Microsoft Access向导模板文件

MED 音乐编辑器,OctaMED音乐模块(MOD)文件

MER 电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别

MET 表示管理器元文件

MFG Pro/ENGINEER制造文件

MGF 在材料与几何学里的文件格式

MHTM,MHTML MHTML文档(MIME)

MI 杂项

MIC Microsoft Image Composer文件

MID MIDI音乐

MIF Adobe FramMaker交换格式

MIFF 与机器无关格式文件

MIM,MIME,MME Internet邮件扩展格式的多用途文件,经常作为发送e-mail时在AOL里附件而创建的文件;在一个多区MIM文件里的文件能用WinZip或其他类似程序打开

MLI 3D Studio的材料库格式文件

MMF Meal Master格式;一个处方类格式;Microsoft邮件文件

MMG 超过20/20表或集会数据文件

MMM Microsoft多媒体电影

MMP Mindmapor Mind Manager文件

MN2 Descent2任务文件

MND,MNI Mandelbort for Windows

MNG 多映像网络图形

MNT,MNX Microsoft FoxPro菜单文件

MNU Visual dBASE菜单文件;Intertel Systems Interact菜单文件

MOD Fast Tracker、Star Trekker、Noise Tracker(等等)音乐模块文件;Microsoft多计划电子表格;Amiga/PC磁道文件

MOV QuickTime for Windows电影

MP2 第二层MPEG音频文件

MP3 第三层MPEG音频文件

MPA MPEG相关文件,MIME“mpeg类型”

MPE,MPEG,MPG MPEG动画文件

MPP Microsoft工程文件;CAD绘图文件格式

MPR Microsoft FoxPro菜单(已编译)

MRI MRI扫描文件

MSA 魔术阴影档案

MSDL Manchester的场景描述语言

MSG Microsoft邮件消息

MSI Windows 安装器包

MSN Microsoft网络文档;Descent Mission文件

MSP Microsoft Paint(画图)位图文件;Windows Installer路径文件

MST Windows 安装器传输文件

MTM Multi 跟踪器音乐模块(MOD)文件

MUL Ultima在线

MUS 音乐

MUS10 Mus10声音

MVB Microsoft多媒体查看器文件

MWP Lotus WordPro 97 Smart Master文件

常用扩展名及含义(N开头)

NAP NAP元文件

NCB Microsoft Developer Studio文件

NCD Norton改变目录

NCF NetWare命令文件;Lotus Notes内部剪切板

NDO 3D 低多边形建模器,Nendo

netCDF 网络公用数据表单

NFF 中性文件格式

NFT NetObject Fusion模板文件

NIL Norton光标库文件(EasyIcons-兼容)

NIST NIST Sphere声音

NLB Oracle 7数据

NLM NetWare可装载模块

NLS 用于本地化的国家语言支持文件(例如,Uniscape)

NLU Norton Live Update e-mail 触发器文件

NOD NetObject Fusion文件

NSF Lotus Notes数据库

NSO NetObject Fusion文档文件 t多媒体查看器文件

MWP Lotus WordPro 97 Smart Master文件

NST Noise Tracker音乐模块(MOD)文件

NS2 Lotus Notes数据库(第二版)

NTF Lotus Notes数据库模板

NTX CA-Clipper索引文件

NWC Noteworthy Composer歌曲文件

NWS Microsoft Outlook Express新闻消息(MIME RFC822)

常用扩展名及含义(O开头)

O01 台风声音文件

OBD Microsoft Office活页夹

OBJ 对象文件

OBZ Microsoft Office活页夹向导

OCX Microsoft对象链接与嵌入定制控件

ODS Microsoft Outlook Express邮箱文件

OFF 3D 网状物对象文件格式

OKT Oktalyzer音乐模块(MOD)文件

OLB OLE对象库

OLE OLE对象

OOGL 面向对象图形库

OPL 组织者编程语言源文件——Psion/Symbian

OPO OPL输出可执行文件

OPT Microsoft Developer Studio文件

OPX OPL扩展DLL(动态链接库)

ORA Oracle 7 配置文件

ORC Oracle 7脚本文件

ORG Lotus Organ

js 真是门神奇的语言,有无数多的可能性,难怪现在大家都想去拥抱 typescript 了。相比 java ,c++ 等语言来说,js 语法略显宽松些,函数参数的类型可以有多种可能性,所以当我在网上看到下面这道题时,心里忍不住 mmp ,咱能不能整点正式的,少来这种妖魔鬼怪呀(逃

相信你也一样,第一次看到结果的时候有些困惑,为什么输出会有 NaN ? 为什么把 '11' 转成整数会是 3 ?

如果你早已知晓其中原因,可以直接拉到下方点个赞再走,否则的话我们一起来探索下其中缘由。

我们想把数组里的字符串数字转换成整数,于是使用 map 函数来对数组的每一项作用,作用的函数是 parseInt 函数,所以预期的结果应该是 [1,7,11] ,然而人算不如浏览器算,最终浏览器的 JavaScript 引擎给出的答案是 [1, NaN, 3] 。从结果可以看到 1 是正常进行转化的,后面两个数则不是我们预期的结果。

第一个猜想:会不会是传入的 parseInt 出现问题 ?

现在我们把 parseInt 换掉,功能改为给每一个数乘 2

发现结果是正常的,x 代表从数组里拿到的每一个值,在依次去乘以 2 ,没问题。可是问题来了,除了 x ,会不会有其它参数,存不存在其它可以使用的参数。于是我们试验下:

在 Chrome 的控制台执行后发现结果出乎意料

也就是说, map 接受的这个函数,它存在三个参数,第一个是数组当前的值,第二个是当前值的索引,第三个数是当前传入的数组

到这里我们就明白了,当我们传入 parseInt 时,map 函数会把三个参数(数组当前元素,当前元素的索引,当前传入的数组)一并打包给 parseInt 。那么现在问题就集中在 parseInt 函数上面。从 MDN 文档查询后可以知道, parseInt(string, radix) 函数接受两个参数,第一个是需要转换的字符串,第二个是 进制 。于是结果呼之欲出,我把这个过程画成了图,方便看图理解,如下:

可能有的人看完还是雾水,解释下:首先,parseInt 接受两个参数,因此第三个参数会被忽略。第一次执行, parseInt('1', 0) 会输出 1 ,因为 0 会转换成 false,而 false 会使它执行默认的进制 10 ,就是 parseInt 默认都是转换十进制;第二次执行, parseInt('7', 1) 因为没有所谓的 1 进制,所以无法转换,输出 NaN第三次执行 parseInt('11', 2) 答案为 3 ,因为以 2 为进制转换,3 的二进制是 11 , 非常的巧妙。

所以最终的输出的结果就是 [1, NaN, 3] 啦,不怪浏览器,怪自己,哈哈。

常言道人定胜天,在程序员的世界里大家都想人定胜机器(浏览器),然而事实通常与我们预期的不符,只有多掌握知识,多分析才能知晓其中原理,特别是要利用好文档材料,如 MDN, w3cschool 等等,只要一查,就能知道每个函数都有多个规定的参数,有些是必须,有些是可选的,当然,个人觉得不必死每个函数,需要的时候利用好 Internet 就行。

(完)