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 相关文章推荐
dojo 之基础篇(三)之向服务器发送数据
Mar 24 Javascript
node.js入门教程
Jun 01 Javascript
javascript实现单击和双击并存的方法
Dec 13 Javascript
JavaScript基础函数整理汇总
Jan 30 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
JavaScript中文件上传API详解
Apr 01 Javascript
jquery实现超简单的瀑布流布局【推荐】
Mar 08 Javascript
webpack 2的react开发配置实例代码
Jul 28 Javascript
详谈DOM简介及节点、属性、查找节点的方法
Nov 16 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
Nov 22 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 Javascript
vue实现防抖的实例代码
Jan 11 Vue.js
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编写一个简单的路由类
2011/04/13 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
nodejs如何在package.json中设置多条启动命令
2020/03/16 NodeJs
Python使用matplotlib绘制动画的方法
2015/05/20 Python
python实现FTP服务器服务的方法
2017/04/11 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
浅谈Django的缓存机制
2018/08/23 Python
python 字典访问的三种方法小结
2019/12/05 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
简述数组与指针的区别
2014/01/02 面试题
优秀的毕业生的自我评价
2013/12/12 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
后进生评语大全
2015/01/04 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
保护环境建议书作文400字
2015/09/14 职场文书