例如,定义了调用函数的两种方法:
复制代码代码如下所示:
功能getInfo(){
var
消息:消息
};
返回的信息;
}

1、VaR信息= getInfo();

2、VaR INFO2 =新getInfo();

1和2之间有什么不同吗是信息和INFO2相同的价值吗

第一个是很简单的,而且很多是执行功能和接受函数的返回值赋给对象的信息。

第二例一般都是非常罕见的。首先,是一个对象的函数,对象当然是可以被实例化(实例化实际上就是对象的构造函数来初始化对象),所有的二例是调用GetInfo函数对象的构造函数、实例构造函数初始化和接收(一般),但功能有一个比较特别的地方是。如果构造函数的返回值,可以使用返回值来代替该对象返回。于是在2,新发生称为构造函数(函数的构造函数的定义本身)和接收返回值的信息。

应用:

1。例如,HTML定义了一个DOM对象:js代码如下所示:
复制代码代码如下所示:
函数$(domid){
VaR DOM = document.getelementbyid(domid);
返回DOM;
}

在window.onload =函数(){
VaR DOM1 =新的$(domid );
VaR DOM2 =美元(domid );
警报(DOM1 = DOM2);
}

警报提示符将显示真值。为什么您使用$作为函数名的原因是,如果您使用这个函数,它有点像jQuery吗事实上,jQuery的构造函数使用这种函数定义样式,无论是直接使用新函数还是返回函数,返回的值都是相同的。

2。定义兼容的XMLHttpRequest对象(本例是从Javascript权威指南18.1部分节选)
众所周知,不同的浏览器支持异步通信的不同方式。早期IE是ActiveX的方式。下面的代码定义了一个兼容的XMLHttpRequest对象。
复制代码代码如下所示:
如果(window.xmlhttprequest = undefined){
window.xmlhttprequest =函数(){
{试
如果可用,请使用ActiveX对象的最新版本。
返回新的ActiveX对象(MSXML2. XMLHTTP。6);
} catch(EX1){
{试
返回新的ActiveX对象(MSXML2. XMLHTTP。3);
赶上(EX2){ }
把新的错误(XMLHttpRequest不支持)
}
}
}
}

在这种方式中,你可以定义它直接通过XMLHttpRequest(XHR =新VaR)没有IE浏览器或Firefox浏览器。