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 相关文章推荐
用AJAX返回HTML片段中的JavaScript脚本
Jan 04 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
nodeType属性返回被选节点的节点类型介绍
Nov 22 Javascript
js弹出div并显示遮罩层
Feb 12 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
Mar 02 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
js下将金额数字每三位一逗号分隔
Feb 19 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
Oct 18 Javascript
vue中的ref和$refs的使用
Nov 22 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
Sep 10 Javascript
vue实现打地鼠小游戏
Aug 21 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 11 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
一步一步学习PHP(8) php 数组
2010/03/05 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
用python制作个视频下载器
2021/02/01 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
18岁生日感言
2014/01/12 职场文书
校本教研工作制度
2014/01/22 职场文书
就业自我评价
2014/02/04 职场文书
初中班主任评语
2014/04/24 职场文书
学校欢迎标语
2014/06/18 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS