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 相关文章推荐
jQuery EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
jquery实现公告翻滚效果
Feb 27 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
Feb 28 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
浅谈js获取ModelAndView值的问题
Mar 28 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
Dec 13 Javascript
elementUi vue el-radio 监听选中变化的实例代码
Jun 28 Javascript
监控微信小程序中的慢HTTP请求过程详解
Jul 05 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 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
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
JS取request值以及自动执行使用示例
2014/02/24 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
canvas知识总结
2017/01/25 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python多进程操作实例
2014/11/21 Python
python中sys.argv参数用法实例分析
2015/05/20 Python
Python内建数据结构详解
2016/02/03 Python
Python实现的购物车功能示例
2018/02/11 Python
python 2.7.14安装图文教程
2018/04/08 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
python Pillow图像处理方法汇总
2019/10/16 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
港湾网络笔试题
2014/04/19 面试题
出纳岗位职责模板
2013/11/27 职场文书
儿子婚宴答谢词
2014/01/09 职场文书
单身联谊活动方案
2014/01/29 职场文书
大家访活动实施方案
2014/03/10 职场文书
食品安全工作实施方案
2014/03/26 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
大学新闻系自荐书
2014/05/31 职场文书
中学教代会开幕词
2016/03/04 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
Python实现拼音转换
2021/06/07 Python
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android