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 相关文章推荐
JS 打印功能代码可实现打印预览、打印设置等
Oct 31 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
js绘制购物车抛物线动画
Nov 18 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
Sep 20 Javascript
浅谈vue.js导入css库(elementUi)的方法
Mar 09 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
用npm-run实现自动化任务的方法示例
Jan 14 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
Apr 18 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
Jun 04 Javascript
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
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
一个简单计数器的源代码
2006/10/09 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
房地产广告词大全
2014/03/19 职场文书
安全宣传标语
2014/06/10 职场文书
学校教师读书活动总结
2014/07/08 职场文书
国际会计专业求职信
2014/08/04 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年检验员工作总结
2014/11/19 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
股份转让协议书范本
2015/01/27 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
招商银行收入证明
2015/06/17 职场文书