JS如何定义方法及调用 精选

简单搜索了下,遇到点问题
1,经常在JS中看到如var foo = function(){}的形式
foo是方法名还是对象名,如果想调用此方法,是用foo(),foo.function(),还是该如何正确调用。除此之外,希望高手帮忙总结下,JS自定义方法和调用的一个大全,这个可以没有,先谢了

 

 

方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的函数。

函数(function)是一段代码,需要通过名字来进行调用。它能将一些数据(函数的参数)传递进去进行处理,然后返回一些数据(函数的返回值),也可以不返回数据。

当将函数和对象和写在一起时,函数(function)就变成了方法(method)。

为了便于理解方法、函数、对象,我们通过示例来了解一下:

1、JS中定义函数的格式为:

var funname =function(参数a,参数b...){具体方法动作};

或者 function funname(var1,var2){要执行的具体代码}。

举例,var foo=function(a,b){ return a+b; }

在上面函数中,foo就是函数名,而不是对象名。

2、想要调用上式中的函数的话可以直接调用函数名称。

如:sumA=foo(5,6);

也就是sumA直接调用了foo()函数,并且为函数传值(5,6),最终结果sumA=11。

3、你提问中说方法和对象分不清,那我们再来看下如何定义对象,如:

var foo={

fooid:10;

fooname:"对象",

fooFunc:function(){alert(this.fooname);}

在上面程序代码中,foo就成了对象名,fooid、fooname都是对象的属性,而fooFunc函数就成了该对象的一个方法。

如果想要调用该对象下的fooFunc方法的话,可以使用对象名.方法名,即:foo.funFunc();

对于函数,JS中调用方式有很多,下面就总结介绍一下JS函数调用的四种方法:

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);

扩展资料:

在项目开发过程中,也许你会遇这样的情况:

在某一Js文件中需要完成某一功能,但这一功能的大部分代码在另外一个Js文件中已经完成了,自己只需要调用这个方法再加上几句代码就可以实现所需的功能。

例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b()。而b()中又要调用a.js文件中的方法a()。若要实现这个功能,必须注意,将要引入的Js文件代码放在</body>下面。

首先,我们在html中引入b.js,并在</body>之后加入引用语句。如下:

      

 

b.js文件如下:

 

在b.js文件中前4行代码中我们引入了a.js文件,并在第7行代码中调用了a.js代码中的a()方法。

让我们来分析一下关键的几句代码:首先,我们利用document.createElement("script")生成了一个script的标签,设置其type属性为text/javascript,src为a.js(这里的a.js同b.js放在同一个目录,也可放在不同的目录)。

最后将这个标签动态地加入body中。如此一来,我们就可以调用到不同js文件中的方法了。

posted @ 2019-03-01 15:10  小菜与小鸟  阅读(5016)  评论(0编辑  收藏  举报