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 数组实现一个类似ruby的迭代器
Oct 27 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
Mar 12 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
Nov 07 Javascript
jQuery学习之prop和attr的区别示例介绍
Nov 15 Javascript
探究JavaScript函数式编程的乐趣
Dec 14 Javascript
JS深度拷贝Object Array实例分析
Mar 31 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
May 03 Javascript
js基本算法:冒泡排序,二分查找的简单实例
Oct 08 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
Nuxt的路由动画效果案例
Nov 06 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
vue中监听返回键问题
2019/08/28 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python编程中time模块的一些关键用法解析
2016/01/19 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
django实现类似触发器的功能
2019/11/15 Python
python numpy实现rolling滚动案例
2020/06/08 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
考试退步检讨书
2014/01/15 职场文书
探矿工程师自荐信
2014/01/24 职场文书
教师考核评语
2014/04/28 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
小学教师师德整改措施
2014/09/29 职场文书
告知书格式
2015/07/01 职场文书
写给同事的离职感言
2015/08/04 职场文书
素质拓展训练感想
2015/08/07 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android