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 相关文章推荐
popdiv
Jul 14 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
javascript中数组方法汇总
Jul 07 Javascript
学习JavaScript正则表达式
Nov 13 Javascript
JS设置cookie、读取cookie
Feb 24 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
Dec 14 Javascript
js实现登录框鼠标拖拽效果
Mar 09 Javascript
JavaScript中数组常见操作技巧
Sep 01 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
Sep 11 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 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/01 无线电
刚才在简化php的库,结果发现很多东西
2006/12/31 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
javascript 学习之旅 (1)
2009/02/05 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
如何防止INPUT按回车自动提交表单FORM
2016/12/06 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python样条插值的实现代码
2018/12/17 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python中判断文件结束符的具体方法
2020/08/04 Python
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
村委会主任先进事迹
2014/01/15 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
企业诚信承诺书
2014/05/23 职场文书
成绩报告单家长评语
2014/12/30 职场文书
社区敬老月活动总结
2015/05/07 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers