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 基础篇之对象、数组使用介绍(三)
Apr 07 Javascript
JavaScript中变量提升 Hoisting
Jul 03 Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
JS实现点击按钮自动增加一个单元格的方法
Mar 09 Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 Javascript
js手动播放图片实现图片轮播效果
Sep 17 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
Bootstrap轮播图学习使用
Feb 10 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
Jul 05 Javascript
微信小程序实现搜索框功能及踩过的坑
Jun 19 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正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
js 调整select 位置的函数
2008/02/21 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
Python模块学习 datetime介绍
2012/08/27 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
django框架forms组件用法实例详解
2019/12/10 Python
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
企业挂职心得体会
2014/09/10 职场文书
户籍证明格式
2014/09/15 职场文书
高中家长意见怎么写
2015/06/03 职场文书
红色故事汇观后感
2015/06/18 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android