当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 具名函数的四种调用方式 推荐

Javascript
在js中使用"with"语句中跨frame的变量引用问题
原型方法的不同写法居然会影响调试的解决方法
在JavaScript中遭遇级联表达式陷阱
JScript内置对象Array中元素的删除方法
获取JavaScript用户自定义类的类名称的代码
使用TextRange获取输入框中光标的位置的代码
使用onbeforeunload属性后的副作用
IE7提供XMLHttpRequest对象为兼容
encode脚本和normal脚本混用的问题与解决方法
用js判断用户浏览器是否是XP SP2的IE6
关于使用runtimeStyle属性问题讨论文章
javascript学习随笔(使用window和frame)的技巧
javascript学习随笔(编写浏览器脚本 Navigator Scripting )
跑马灯效果大全
让超链接显示提示信息的js代码
打开超链需要“确认”对话框的方法
javascript的对话框详解与参数
让网页上的超链接失效,不能点击的js代码
鼠标经过时链接文字的特别震撼的显示效果
显示页面的所有链接的js代码

Javascript 中的 javascript 具名函数的四种调用方式 推荐


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 370 ::
收藏到网摘: n/a

看四种方式执行结果没有区别。但如果函数有返回值的话,用new方式调用时可能会让你有些失望。 1、()小括号运算符 平时最常用的就是()运算符来调用一个函数
复制代码 代码如下:
以函数中有无this来讨论。没有this时返回一个空的对象{},有this时返回一个非空对象。
定义一个没有this的函数
复制代码 代码如下:
这里把函数名首字母大写了,让它符合java类命名规范。
复制代码 代码如下:

/**
* 定义一个函数Car
*/
function Car(color,doors) {
var car = {};
car.color = color;
car.doors = doors;
car.msg = function(){
alert("This is a " + this.color + " car, there are " + this.doors + " doors." );
}
return car;
}

看起来怪怪的,Car明明是一个类啊,怎么也不像之前的函数调用。和文章标题似乎有些不一致了。但我们的确可以用()来调用它。当然也可以用new来调用它。用new方式则让它更像java的创建对象方式。
复制代码 代码如下:

//方式1
var c1 = Car('red',2);
c1.msg();
//方式2
var c2 = new Car('black',4);
c2.msg();

嗯。这种方式在一些js库中也能见到,如mootools.js中的一个很重要的函数Native,返回值是一个函数(类)。mootools core中的Class类就是Native函数返回的。var Class = new Native({..});当然也可以不用new而直接采用()调用。