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源码分析JavaScript函数的apply方法与call方法
Sep 25 Javascript
JS常用函数使用指南
Nov 23 Javascript
js控制页面的全屏展示和退出全屏显示的方法
Mar 10 Javascript
JS提交form表单实例分析
Dec 10 Javascript
js创建对象的方法汇总
Jan 07 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
javascript拖拽应用实例
Mar 25 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
Nov 06 Javascript
js实现文字跑马灯效果
Feb 23 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
Apr 28 Javascript
Vue前后端不同端口的实现方法
Sep 19 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
咖啡知识大全
2021/03/03 新手入门
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
php实现aes加密类分享
2014/02/16 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
VUE前后端学习tab写法实例
2019/08/06 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
Python中DJANGO简单测试实例
2015/05/11 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
使用python实现滑动验证码功能
2019/08/05 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
Python识别html主要文本框过程解析
2020/02/18 Python
python多维数组分位数的求取方式
2020/03/03 Python
python实现批量转换图片为黑白
2020/06/16 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
小区门卫管理制度
2014/01/29 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
python中urllib包的网络请求教程
2022/04/19 Python