JS中如何通过函数名来调用函数?

JavaScript010

JS中如何通过函数名来调用函数?,第1张

str = "func_abc"\x0d\x0a//调用func_abc\x0d\x0aeval(str)\x0d\x0a\x0d\x0a如果要传参数,比如\x0d\x0aeval( str + "( '字符串参数', 123 )" )\x0d\x0a也可以\x0d\x0aeval( "var _function = " + str )\x0d\x0a_function( "字符串参数", 123 )\x0d\x0a没有参数就\x0d\x0a_function()

把参数写在括号里面 就可以了

var  a=1

var b=2

var c= myaddfun(a,b)

alert(c)

function my addfun(a,b){  //注意 这里的 a 和b 

                            // 和上表面的a和b 无关 可以用任何合法的变量名 如C和D

    return a+b

}

functions myaddfun(c,d){ //  用c和d也是一样, 只跟次序有关系

    return c+d 

}

JS函数的定义与调用方法

JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式

1.方法调用模式:

先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject

对象。

var blogInfo={

blogId:123,

blogName:"werwr",

showBlog:function(){alert(this.blogId)}

}

blogInfo.showBlog()

2.函数调用模式

定义一个函数,设置一个变量名保存函数,这时this指向到window对象。

var myfunc = function(a,b){

return a+b

}

alert(myfunc(3,4))

3.构造器调用模式

定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。

var myfunc = function(a){

this.a = a

}

myfunc.prototype = {

show:function(){alert(this.a)}

}

var newfunc = new myfunc("123123123")

newfunc.show()

4.apply,call调用模式

var myobject={}

var sum = function(a,b){

return a+b

}

var sum2 = sum.call(myobject,10,30)//var sum2 = sum.apply(myobject,[10,30])

alert(sum2)