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 bind事件使用详解
May 05 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
JavaScript的strict模式与with关键字介绍
Feb 08 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
Apr 06 Javascript
7个有用的jQuery代码片段分享
May 19 Javascript
基于jQuery实现放大镜特效
Oct 19 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
微信小程序 框架详解及实例应用
Sep 26 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
Nov 11 Javascript
node.js 微信开发之定时获取access_token
Feb 07 Javascript
js中Object.create实例用法详解
Oct 05 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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
python机器学习之神经网络(一)
2017/12/20 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
通过实例学习Python Excel操作
2020/01/06 Python
django rest framework 过滤时间操作
2020/07/12 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
自荐信结尾
2013/10/27 职场文书
如何做好总经理助理
2013/11/12 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
护林员个人总结
2015/03/04 职场文书
纪委立案决定书
2015/06/24 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
提档介绍信范文
2015/10/22 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript