JS函数的几种定义方式分析


Posted in Javascript onDecember 17, 2015

本文实例讲述了JS函数的几种定义方式。分享给大家供大家参考,具体如下:

JS函数的定义方式比较灵活,它不同于其他的语言,每个函数都是作为一个对象被维护和运行的。

先看几种常用的定义方式:

function func1([参数]){/*函数体*/}
var func2=function([参数]){/*函数体*/};
var func3=function func4([参数]){/*函数体*/};
var func5=new Function();

上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);
第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);
第四种是声明func5为一个对象。

再看看它们的区别:

function func(){
  //函数体
}
//等价于
var func=function(){
  //函数体
}

但同样是定义函数,在用法上有一定的区别。

<script>
//这样是正确的
func(1);
function func(a)
{
  alert(a);
}
</script>
<script>
//这样是错误的,会提示func未定义,主要是在调用func之前没有定义
func(1);
var func = function(a)
{
  alert(a);
}
//这样是正确的,在调用func之前有定义
var func = function(a)
{
  alert(a);
}
func(1);
</script>

用同样的方法可以去理解第三种定义方式。

第四种定义方式也是需要声明对象后才可以引用。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript获取和设置CheckBox状态的简单方法
Jul 05 Javascript
非html5实现js版弹球游戏示例代码
Sep 22 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
jQuery基础知识点总结(必看)
May 31 Javascript
JavaScript ES5标准中新增的Array方法
Jun 28 Javascript
Vue.js每天必学之方法与事件处理器
Sep 06 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
简单谈谈关于Angular Cli打包的事
Sep 05 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
JS代码触发事件代码实例
Jan 02 Javascript
js实现文字闪烁特效的方法
Dec 17 #Javascript
基于jquery实现省市联动特效
Dec 17 #Javascript
js实现网页收藏功能
Dec 17 #Javascript
详解javascript中原始数据类型Null和Undefined
Dec 17 #Javascript
JS实现合并两个数组并去除重复项只留一个的方法
Dec 17 #Javascript
JS数组合并push与concat区别分析
Dec 17 #Javascript
理解Javascript的call、apply
Dec 16 #Javascript
You might like
收音机指标测试方法及仪器
2021/03/01 无线电
PHP中的cookie
2006/11/26 PHP
PHP 金额数字转换成英文
2010/05/06 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
Python机器学习之SVM支持向量机
2017/12/27 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python2与Python3的区别实例分析
2019/04/11 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
android面试问题与答案
2016/12/27 面试题
在求职信中如何凸显个人优势
2013/10/30 职场文书
小学英语教学反思案例
2014/02/04 职场文书
给市场的环保建议书
2014/05/14 职场文书
医学生求职自荐书
2014/06/12 职场文书
现实表现材料范文
2014/12/23 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers