JS之建立对象的方法
2019-04-04 07:58:19来源:爱站网 阅读 ()
无论是什么语言,不断变化的语言都离不开它的起源,只有深刻理解它的本质,才能自由运用,感兴趣的小伙伴们可以和爱站技术频道小编一起来参考一下JS之建立对象的方法吧!
Objects?are?useful?to?organize?information.
对于组织信息来讲对象是非常有用的?
JavaScript?Objects
JS对象
Earlier?in?this?tutorial?we?have?seen?that?JavaScript?has?several?built-in?objects,?like?String,?Date,?Array,?and?more.?In?addition?to?these?built-in?objects,?you?can?also?create?your?own.
在教程的前面部分我们已经看过JS有一些内置的对象,像String,Date,Array和更多一些。除此之外我们可以建立属于自己的对象。
An?object?is?just?a?special?kind?of?data,?with?a?collection?of?properties?and?methods.
对象是特殊的数据,有着相关的一系列属性和方法。
Let's?illustrate?with?an?example:?A?person?is?an?object.?Properties?are?the?values?associated?with?the?object.?The?persons'?properties?include?name,?height,?weight,?age,?skin?tone,?eye?color,?etc.?All?persons?have?these?properties,?but?the?values?of?those?properties?will?differ?from?person?to?person.?Objects?also?have?methods.?Methods?are?the?actions?that?can?be?performed?on?objects.?The?persons'?methods?could?be?eat(),?sleep(),?work(),?play(),?etc.
让我们说明一个例子:一个人为一个对象。属性就是与对象关联的值。人的属性包含名字,身高,体重,年龄,肤色,眼睛的颜色等等。所有人都有这些属性,但是值却可能人与人都不同。对象还有方法。方法就是对象的动作行为。人的方法就可以是eat()[吃],sleep()[睡觉],work()[工作]等等。
Properties属性
The?syntax?for?accessing?a?property?of?an?object?is:
关联一个对象的属性语法为:
objName.propName?
You?can?add?properties?to?an?object?by?simply?giving?it?a?value.?Assume?that?the?personObj?already?exists?-?you?can?give?it?properties?named?firstname,?lastname,?age,?and?eyecolor?as?follows:
你可以通过赋值来给对象添加属性。假设personObj已经存在?-?你可以给对象添加姓和名以及下面的年纪和眼睛颜色:
personObj.firstname="John"
personObj.lastname="Doe"
personObj.age=30
personObj.eyecolor="blue"document.write(personObj.firstname)?
The?code?above?will?generate?the?following?output:
上面的代码就会输出:
John?
Methods方法
An?object?can?also?contain?methods.
一个对象还可以包括方法
You?can?call?a?method?with?the?following?syntax:
你可以用下面的语法来调用一个方法:
objName.methodName()?
Note:?Parameters?required?for?the?method?can?be?passed?between?the?parentheses.
方法所需要的参数写在括号之间
To?call?a?method?called?sleep()?for?the?personObj:
为personObj对象调用一个sleep()方法
personObj.sleep()?
--------------------------------------------------------------------------------
Creating?Your?Own?Objects
建立你自己的对象
There?are?different?ways?to?create?a?new?object:
建立新的对象有两种不同的方法
1.?Create?a?direct?instance?of?an?object
直接建立
The?following?code?creates?an?instance?of?an?object?and?adds?four?properties?to?it:
下面的代码可以直接建立一个对象并给它加上四个属性:
personObj=new?Object()
personObj.firstname="John"
personObj.lastname="Doe"
personObj.age=50
personObj.eyecolor="blue"?
Adding?a?method?to?the?personObj?is?also?simple.?The?following?code?adds?a?method?called?eat()?to?the?personObj:
给对象建立一个方法也十分的简单。下面的代码就加了一个eat()方法
personObj.eat=eat?
2.?Create?a?template?of?an?object
建立一个对象模块
The?template?defines?the?structure?of?an?object:
模块定义对象的构架
function?person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname
this.lastname=lastname
this.age=age
this.eyecolor=eyecolor
}?
Notice?that?the?template?is?just?a?function.?Inside?the?function?you?need?to?assign?things?to?this.propertyName.?The?reason?for?all?the?"this"?stuff?in?is?that?you're?going?to?have?more?than?one?person?at?a?time?(which?person?you're?dealing?with?must?be?clear).?That's?what?"this"?is:?the?instance?of?the?object?at?hand.
注意模块只是一个函数,函数里面你需要给this.propertyName分配东西。所有都是"this"的原因是你接下来会一下子有不止一个person(是哪个person你必须清楚)。
Once?you?have?the?template,?you?can?create?new?instances?of?the?object,?like?this:
一旦你有了模块,你就可以这样直接建立新的对象了:
myFather=new?person("John","Doe",50,"blue")
myMother=new?person("Sally","Rally",48,"green")?
You?can?also?add?some?methods?to?the?person?object.?This?is?also?done?inside?the?template:
你也可以加一些方法给person对象,这也可以在模块里完成:
function?person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname
this.lastname=lastname
this.age=age
this.eyecolor=eyecolorthis.newlastname=newlastname
}?
Note?that?methods?are?just?functions?attached?to?objects.?Then?we?will?have?to?write?the?newlastname()?function:
注意,这个方法只是对象的附加函数,接下来我们将必须写入newlastname()函数
function?newlastname(new_lastname)
{
this.lastname=new_lastname
}?
The?newlastname()?function?defines?the?person's?new?last?name?and?assigns?that?to?the?person.?JavaScript?knows?which?person?you're?talking?about?by?using?"this.".?So,?now?you?can?write:?myMother.newlastname("Doe").
newlastname()函数定义了person的新last?name并分配给了person。使用"this"的话JS会明白你在描述哪个person。所以现在你可以写:myMother.newlastname("Doe")?
以上就是JS之建立对象的方法?,更多的内容请继续关注爱站技术频道的其它相关文章吧,感谢大家对爱站技术频道网的支持!
原文链接:https://js.aizhan.com/develop/JavaScript/5151.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript面向对象入门基础详细介绍 2020-03-29
- js实现翻页后保持checkbox选中状态的实现方法 2020-03-25
- NiftyCube实现圆角边框的方法 2020-03-20
- 根据分辨率调用css文件的方法 2020-03-19
- JS简单去除数组中重复项的方法 2020-03-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash