关于jsnewfunction的信息

http://www.itjxue.com  2023-02-11 18:07  来源:未知  点击次数: 

JavaScript中new function和function有什么区别

//js中只有new?Function没有new?function,或者我理解你说的new?function是指实例化一个对象

//new?Function的作用是从字符串中创建一个匿名方法,如下:

var?newFun?=?new?Function("alert(1)");

nweFun();????????//弹出1

//如果你说的new?function是实例化一个对象,那么代码如下:

function?cls(){

????this.helloWord?=?function(){

????????alert("hello?Word!");

????}

}

var?clsObj?=?new?cls();

clsObj.helloWord();????????//弹出hello?Word!

//这里的cls这个你应该要把他看成面向对象里面的类,而不是js里面的方法。

//当然本质上他就是一个方法,而且你也可以cls()这样直接调用。

//更多js面向对象的东西我就不细说了,你可以自行百度。

//直接定义个function,然后调用,代码如下:

function?fun(){

????alert("hello?Word!");

}

fun();????????????//弹出hello?Word!

//这里的方法你应该看成面向对象里面的静态方法,而不是面向对象里面的类。

//当然他也确实是一个类,你也可以new?fun()来调用。

//但是new?fun()得到的对象没有任何方法。

js里Function 与 function 一样吗,基本类型区别大小写吗

js里Function 与 function的不一样的,不仅仅是大小写的问题。

Function是一个构造器,function是Function实例化的一个对象,包含[[call]][[code]]等等属性,可以被执行。

具体使用方法:

function callAnotherFunc(fnFunction, vArgument) {

fnFunction(vArgument);

}

var doAdd = new Function("iNum", "alert(iNum + 10)");

callAnotherFunc(doAdd, 10); //输出 "20"

定义普通函数就用function:

var func = function(arg0, arg1, ... argN) { statements };//函数直接量

JS里的function与new function

document.body.onload=function(xxx)

document.body.onload=new

function(xxx)

document.body.onload=function(){xxxxxxxxx}

首先第一种:

楼主不要写成function(xxx),否则大家都以为是function关键字,其实只是个自定义的函数。

至于下面这种写法效果是一样的,但是注意了这里有new关键字,而且不是function,而是Function,比如说:

document.onmouseup=new

Function("flag=true");

第三种即最常见的一种,语法为:

function(){statement}

-----------------------------------

一.

var

foo01

=

function()

{

var

temp

=

100;

this.temp

=

200;

return

temp

+

this.temp;

}

这里重载了foo01函数,效果和function

foo01(){statement}差不多,但是区别在于var

foo01=function(){statement}重装了foo01函数,也就相当于个模型,区别还是有的,比如说有个函数分别调用了这两种方式写的函数foo01,但是例子中的写法将foo01的方法继承了,但是function

foo01(){}这种写法则直接执行了函数,所以两个写法都很有用处。

二.

var

foo02

=

new

function()

{

var

temp

=

100;

this.temp

=

200;

return

temp

+

this.temp;

}

这种写法不常见,但是它和例一差不多,只不过多了关键字new,很明显该函数必须先定义自定义函数的模型,然后才能对此函数用new关键字来实例化。

三.

var

foo3

=

new

Function(’var

temp

=

100;

this.temp

=

200;

return

temp

+

this.temp;’);

在上面已经提及过了。

js中new Function 创建函数对象

Function这个构造函数可以用来创造函数对象。

0.一个参数都不传的情况 创建的就是一个空的函数

var 函数名 = new Function()

1.只传一个参数的情况 这个参数就是函数体

var 函数名 = new Function("函数体")

2.传多个参数的情况,最后一个参数为函数体,前面的参数都是该函数的形参名

请教一下,js 的new function 是如何运行的

执行 a()时,进入了函数就是继续执行b(function(){alert(123)}).

b函数执行的就是new 了一下他的参数。

他的参数是一个函数。new的时候执行了alert(123).

就是这样而已。

(责任编辑:IT教学网)

更多

推荐编程综合文章