时间: 2021-07-31 作者:daque
在写面向东西的web运用步调上面javasciprt是一种很好的采用.它能扶助oop.由于它经过原形扶助接受的办法和经过属性和本领的办法一律好.很多开拓者试图唾弃js,试着用c#或java仅是由于js不是他觉得符合的面向东西的谈话.很多人还没有看法到javascript扶助接受.当你写面向东西的代码时.它能给你很宏大的能量.你也不妨运用它写出可复用,可封装的代码.
东西何以如许宏大? 面向东西思维的胜利是因为它仿造了实际中的实物和实物的接洽.实物有属性和本领.即使咱们刻画一个桌灯.咱们会说它的莫大和宽窄,比方12cm."开灯"这个举措是它的本领.当它是居于开着的状况时.它不妨被调亮一点或暗一点(也即是亮度这个属性值变大或变小).
javascript 赋予了为web运用步调创造东西的本领.东西在须要的功夫相映的事变会被触发,代码封装后,它能被范例化很屡次.
用 new object() 来创造东西
在javascript里有几种创造东西的本领,在各别的场所可用各别的本领.最大略的即是用 new 操纵符,比方:<script language="javascript" type="text/javascript"><!--
person = new object()person.name = "tim scarfe"person.height = "6ft"
person.run = function() {this.state = "running"this.speed = "4ms^-1"}
//--></script>
咱们在这个例子里设置了person这个东西,而后介入了它的属性和本领.在这个例子里,自设置的本领里有两个属性.
用笔墨标记literal notation创造东西
用笔墨标记也不妨创造东西,但要javascript 1.2之上本子.它的创造情势是百般的.
<script language="javascript" type="text/javascript"><!--
// object literals
timobject = {property1 : "hello",property2 : "mmmmmm",property3 : ["mmm", 2, 3, 6, "kkk"],method1 : function(){alert("method had been called" + this.property1)}};
timobject.method1();alert(timobject.property3[2]) // will yield 3
var circle = { x : 0, y : 0, radius: 2 } // another example
// nesting is no problem.var rectangle = { upperleft : { x : 2, y : 2 },lowerright : { x : 4, y : 4}}
alert(rectangle.upperleft.x) // will yield 2
//--></script>
笔墨标记然而是数组,也不妨是大肆的javascript表白式或值.
用 new 操纵符或笔墨标记创造一个自设置东西都是大略的,也是适合论理的.但它最大的缺陷即是截止不行复用.也不许很简单的用各别的本子初始化创造东西.比方上头的第一个例子,即使 person 的 name 不是 "tim scarfe",那么咱们不得不从新设置所有东西,只是为了符合它的一点点变换.