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 相关文章推荐
基于jquery封装的一个js分页
Nov 15 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
通过JS判断联网类型和连接状态的实现代码
Apr 01 Javascript
JavaScript实现标题栏文字轮播效果代码
Oct 24 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 Javascript
H5实现中奖记录逐行滚动切换效果
Mar 13 Javascript
vue.js中过滤器的使用教程
Jun 08 Javascript
将Sublime Text 3 添加到右键中的简单方法
Dec 12 Javascript
Vue组件库发布到npm详解
Feb 17 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
May 10 Javascript
React服务端渲染原理解析与实践
Mar 04 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脚本的10个技巧(1)
2006/10/09 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
浅析PHP绘图技术
2013/07/03 PHP
php操作mysql数据库的基本类代码
2014/02/25 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
从零学JS之你需要了解的几本书
2014/05/19 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
Python中的包和模块实例
2014/11/22 Python
Python二分法搜索算法实例分析
2015/05/11 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
python实现大转盘抽奖效果
2019/01/22 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
网上卖盒饭创业计划书范文
2014/02/07 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
超市工作总结范文2014
2014/12/19 职场文书
自荐信怎么写
2015/03/04 职场文书
上学路上观后感
2015/06/16 职场文书
工程款催款函
2015/06/24 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
浅谈Redis的事件驱动模型
2022/05/30 Redis