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文件中的方法了。
JS如何定义方法及调用 精选的更多相关文章
- 几种常用的JS类定义方法
几种常用的JS类定义方法 // 方法1 对象直接量var obj1 = { v1 : "", get_v1 : function() { return ...
- JS和C#方法相互调用
JS和C#方法相互调用 1.JS调用C#后台方法 方法一: 1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中;2.在前台写一个js函数,内容为document.getEle ...
- 转载 -- 基于原生JS与OC方法互相调用并传值(附HTML代码)
最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点就是方法的互相调用而已. 本文叙述下如何进行原生的JavaScript交互 本 ...
- CefSharp F12打开DevTools查看console js和c#方法互相调用
转载地址: https://www.cnblogs.com/lonelyxmas/p/11010018.html winform嵌入chrome浏览器,修改项目属性 生成 平台为x86 1.nuget ...
- 几种常用的JS类定义方法(转)
// 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : funct ...
- js函数定义方法
1.函数声明 其语法为 function functionName(){ //函数体 } 首先是function关键字,然后是函数名,其重要特征是函数声明提升,即在执行代码之前会先读取函数声明,使其在 ...
- C#中webbrowser与javascript(js)交互的方法
今天在做一个项目的时候需要用c#搞一个webbrowser,然后有些地方还需要与js交互.所以就查了一下资料,发现很多博客提到了但是却没有说下具体的操作.所以我就写一下. 开发环境是Visual St ...
- JS中定义类的方法
JS中定义类的方式有很多种: 1.工厂方式 function Car(){ var ocar = new Object; ocar.color = "blue" ...
- JS function的定义方法,及function对象的理解。
废话篇: 今天看到了Function的内容,各种晕,各种混淆有木有.简直是挑战个人脑经急转弯的极限啊.不过,最终这一难题还是被我攻克了,哇咔咔.现在就把这东西记下来,免得到时候又忘了就悲催了.... ...
随机推荐
- 常用jar包之commons-digester使用
常用jar包之commons-digester使用 学习了:https://blog.csdn.net/terryzero/article/details/4332257 注意了, digester. ...
- grep 精确匹配
使用grep实现精确过滤的五种方法 (1)当被过滤的内容占据一行时 [root@MySQL scripts]# cat oldboy.log 200 0200 2000 [root@My ...
- 【Sprint3冲刺之前】软件开发计划书
TD校园助手软件开发计划书 1.引言 1.1 编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,同时便于老师和其他同学了解我们的项 ...
- caffe---ubuntu1604下anaconda2.5的尝试----失败,建议使用系统的python系统,避免各种各样的陷阱
caffe---ubuntu1604下anaconda2.5的尝试----失败,建议使用系统的python系统,避免各种各样的陷阱. 如果使用caffe+ anacoanda 已经遇到的陷阱有 1. ...
- Oracle exp使用正則表達式导出部分表
假设数据库中有许多张表,而我们又仅仅想导出须要的那几张能够使用例如以下命令 --仅仅导出test1.test2表 exp myname/mypassword@orcl file = d:\my.dmp ...
- python跳坑手记
解决python同目录报错:import util 改成 from . import util
- 2015年多校联合训练第一场OO’s Sequence(hdu5288)
题意:给定一个长度为n的序列,规定f(l,r)是对于l,r范围内的某个数字a[i],都不能找到一个相应的j使得a[i]%a[j]=0.那么l,r内有多少个i,f(l,r)就是几. 问全部f(l,r)的 ...
- H2 应用实例2
DIY 博客全文界面的推荐.反对.加关注.返回顶部.快速评论等小功能的集成 --> 转载 :一.搭建测试环境和项目 1.1.搭建JavaWeb测试项目 创建一个[H2DBTest]JavaWeb ...
- python 基础 8.0 regex 正则表达式--常用的正则表达式
一. python 中常用的正则表达式 二. 正则表达式的网站,可以进行在线正则匹配 https://regex101.com/ 1. 使用方法及正则介绍 1> ‘.’ 匹 ...
- 搭建sftp服务+nginx代理
在公司,经常会用到sftp服务,比如两个公司对接生产项目,其中一方,要在sftp上上传pdf文件,另一方公司要在sftp服务器上用nginx代理直接下载pdf文件.下面就说说我在实际中应用到的sftp ...