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 相关文章推荐
利用js对象弹出一个层
Mar 26 Javascript
小试JQuery的AutoComplete插件
May 04 Javascript
判断多个input type=file是否有已经选择好文件的代码
May 23 Javascript
对Jquery中的ajax再封装,简化操作示例
Feb 12 Javascript
JavaScript实现多种排序算法
Feb 24 Javascript
Node.js+Express配置入门教程详解
May 19 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
Jan 09 Javascript
vue计算属性及使用详解
Apr 02 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
Aug 24 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
详解JavaScript数据类型和判断方法
Sep 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
PHP 简单数组排序实现代码
2009/08/05 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
offsetParent 算法分析
2010/04/05 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
机电一体化职业规划书
2014/01/07 职场文书
优秀学生事迹材料
2014/02/08 职场文书
党支部书记岗位责任制
2014/02/11 职场文书
网站推广策划方案
2014/06/04 职场文书
黄石寨导游词
2015/02/05 职场文书
稽核岗位职责
2015/02/10 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
Springboot中如何自动转JSON输出
2022/06/16 Java/Android