关于js函数,方法,对象实例的一些说明
朋友们大家好,好久没有更新文章了,最近正好有空就想着写点什么吧,加上这段时间总是能听到一些朋友们问关于js函数,方法,对象实例到底有什么区别这个问题,所以今天就献丑来简单说明一些吧!
其实这些主要都是一些概念上的东西,在这里还是推荐大家多看看诸如《JavaSript权威指南》,《JavaScript高级编程》之类的书籍,当然这些概念如果用代码写出来我相信大家也都还是能够知道的,所以下面我就用文字和代码举一些简单的例子进行说明:
函数:简单的说函数就是,使用function关键字定义(或声明)的表达式语句;他有两种写法,一种是函数定义表达式:
1
|
var aa = function (){....}; |
另一种是函数声明语句:
1
|
function aa(){....}; |
这两种写法在调用时基本一样,但是这两种写法还是有一些区别的:
1.js脚本在运行时会把函数声明语句提升到所在作用域的最顶端,也就是说你在底下声明的函数在其声明之前也可以调用,即可以先调用后声明,但函数定义表达式则必须先定义后调用;
2.正是函数声明语句的作用域提升所以最好不要在if/for/while等语句内使用函数声明语句,因为这些语句没有块级作用域;
函数说完了,接下来说说方法:
方法:所谓方法其实就是当对象的属性是一个函数时,这个函数就是该对象的方法;简而言之方法就是,作为对象属性的函数!
1
2
3
4
5
6
|
//定义一个对象bb var bb = { cc : function (){ ........... } } |
看上面这段代码,函数cc在这里就是对象bb的方法,我们一般叫做bb的cc方法!
看到这里我想大家应该能够明白函数跟方法的区别了吧:
方法也是函数,但只有作为对象属性的函数才是方法!
有点绕啊,但是大家应该都能看的明白!
接着我们在来说说实例:
实例是怎么回事了,其实简单点说,实例就是通过new关键字调用的对象!
1
2
|
var obj = new Object; //这里对象obj就是一个对象实例; var arr = new Array; //这里的arr就是一个数组实例; |
上面是两个简单的例子;下面我们可一个稍微复杂点的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//创建一个简单的information var information = function (){ this .name = '' ; this .setName = function (name){ this .name = name; } this .getName = function (){ alert( this .name); } } //创建information类的实例 var myName = new information; //这里没有参数,可以省略小括号 myName.setName( '平凡公子' ); //调用实例的setName方法; myName.getName() //调用实例的getName方法; |
上面这个例子可以看出实例,方法,以及实例方法;information是一个对象(函数也是对象),myName是information对象的实例,setName和getName是对象方法,在这里它们也是实例对象myName的方法!
总结:方法是一个作为对象属性的函数,实例是通过关键字new来调用的函数(对象),实例对象是对对象的一个引用,它具有对象的所有方法!
好吧,说到这里本文也就该结束了,可能由于语言水平问题有些地方没有表达清楚,还请各位看官海涵!如有不明白的地方可以留言!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-04-11 android 自定义View开发实战(六) 可拖动的GridView
2017-04-11 String字符串操作--切割,截取,替换,查找,比较,去空格.....
2017-04-11 时间类(时间戳的各种转换成)
2017-04-11 android 常用时间格式转换代码
2017-04-11 Android时间戳与字符串相互转换
2017-04-11 Android时间对话框TimePickerDialog介绍
2016-04-11 Activity四种启动模式