当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript 定义function的三种方式小结

Javascript
关于setEndPoint msdn给出的参考
一个不用onmouseup的拖动函数
实现163邮箱的图标功能
javascript 也来玩玩图片预加载
又一个小巧的图片预加载类
使用正则替换变量
JS统计Flash被网友点击过的代码
JS脚本混淆、加密讨论
通过Unicode转义序列来加密,按你说的可以算是混淆吧
javascript之ESC(第二类混淆)
另一种希望别人无法修改js的代码
javascript又一解密过程,推荐的,会这个基本上好多都能解决了
ESC之ESC.wsf可以实现javascript的代码压缩附使用方法
javascript支持区号输入的省市二级联动下拉菜单
一个不错的渐显菜单
javascript之水平横向滚动歌词同步的应用
javascript实现表现、结构、行为分离的选项卡效果!
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
用js判断浏览器是否是IE的比较好的办法
延时重复执行函数 lLoopRun.js

Javascript 中的 JavaScript 定义function的三种方式小结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 306 ::
收藏到网摘: n/a

JavaScript中定义function有以下三种方式. (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的内容也随之改变