JavaScript 定义function的三种方式小结


Posted in Javascript onOctober 16, 2009

(1)声明一个表达式变量,并定义该变量的表达式。如:

var func = function() 
{ 
/*body code*/ 
}

(2) 定义一个function表达式,并指定该表达式的标识。如:
function func() 
{ 
//body code 
}

(3) 使用JavaScript内置Function对象构造。如:
var func = new Function("/*parameters*/","/*body code*/");

声明变量定义与使用function表达式标识定义是有区别的。我们知道,function在发生传递时采用的是引用传递类型,使用变量定义是保存了表达式的地址引用,而使用标志定义保存了表达式的地址。因此当我们改变或重新定义变量时,并不会导致原来的表达式改变;而当改变标识时,其对应的表达式也随之改变。如:
//声明一个变量,并定义该变量的表达式引用 
var test = function() 
{ 
alert("reference test"); 
} 
//定义一个表达式,保存其地址信息于test1中 
function test1() 
{ 
alert("reference test1"); 
} 
//将test所引用的表达式传递给reference 
var reference = test; 
//将test1表达式的地址传递给reference1 
var reference1 = test1; 
//改变变量test的引用 
test = function() 
{ 
alert("new test"); 
} 
//重新定义test1地址内的数据 
function test1() 
{ 
alert("new test1"); 
} 
alert(reference);//其所引用的表达式不改变 
alert(reference1);//由于reference1是test1地址的引用,当test1地址表示的内容改变时,reference1的内容也随之改变
Javascript 相关文章推荐
25个优雅的jQuery Tooltip插件推荐
May 25 Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 Javascript
jQuery+css实现的切换图片功能代码
Jan 27 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
Aug 25 Javascript
微信小程序学习(4)-系统配置app.json详解
Jan 12 Javascript
微信小程序 sha1 实现密码加密实例详解
Jul 06 Javascript
详解使用nvm安装node.js
Jul 18 Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
如何修改Vue打包后文件的接口地址配置的方法
Apr 22 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
vant组件中 dialog的确认按钮的回调事件操作
Nov 04 Javascript
JavaScript 函数式编程的原理
Oct 16 #Javascript
实现JavaScript中继承的三种方式
Oct 16 #Javascript
显示js对象所有属性和方法的函数
Oct 16 #Javascript
半角全角相互转换的js函数
Oct 16 #Javascript
JavaScript 三种创建对象的方法
Oct 16 #Javascript
JQuery困惑—包装集 DOM节点
Oct 16 #Javascript
JavaScript 对象成员的可见性说明
Oct 16 #Javascript
You might like
js控制框架刷新
2008/08/01 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
端午节粽子促销活动方案
2014/02/02 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
2015中学学校工作总结
2015/07/20 职场文书
《春酒》教学反思
2016/02/22 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
Win11更新失败并提示0xc1900101
2022/04/19 数码科技