您的位置:首页 > Web前端 > JavaScript

《JS高级程序设计》PART3.对象基础

2011-02-10 21:01 405 查看
3.2对象应用 · 对象废除:如果一个对象有2个及以上引用,则要正确的废除该对象,必须将其所有引用都设置为null。 js和java一样,有垃圾回收机制,会自动收回已无引用指向的对象。 · 早绑定和晚绑定 绑定:把对象的接口和实例结合在一起的方法。 早绑定:指在实例化对象之前定义他的特性和方法; 玩绑定:指在编译器或解释程序在运行前,不知道对象的类型。ECMASCript采用的是晚绑定。 3.3对象类型 1.本地对象 · Array类 以下用示例来说明其用法:
var arry = new Array(10); //不知大小时,可以省略,在后面的代码中可以任意增加 var arry = new Array("red","green","blue"); alert(arry[1]);//"green" var sCor = "red,green,blue"; var arry = sCor.split(",");//转化为Array对象 var sCor = "green"; var arry = sCor.split("");//使用空串分割,则会分成各个字符:"g,r,e,e,n"

Array有2个String具有的方法:concat():连接 /slice():截取部分内容 Array提供了栈的功能:
var stack = new Array; stack.push("red"); stack.push("green"); alert(stack.toString());//"red,green" var aa = stack.pop();//"green"

shift():将删除数组第一项,并作为函数值返回。/Unshift反之。 通过shift和push(),可完成队列的功能。 · Date类
var d = new Date(Date.parse("6/1/2011"));//如果传递的字符串无法转为日期,将为NaN var d = new Date(Date.UTC(2011,0,6));//设置月份特别注意,因为其月的设置从0开始 (2011-1-6)

2.内置对象 ECMASCript中提供了2个内置对象:Global和Math; Global的eval()方法:该方法就像整个ECMASCript解释程序,接受一个参数,将其解释为真正的ECMASCript语句,然后把它插入到该函数所在的位置。 3.宿主对象 所有非本地对象都是宿主对象,即由ECMASCript实现宿主环境的对象。所有的BOM和DOM对象都是宿主对象。 3.5定义类或对象 使用构造函数形式:
function Car (sColor,iDoor){ this.color = sColor; this.doors = iDoor; this.showColor = function(){ alert(this.color) }; } var oCar = new Car ('red',4); var oCar2 = new Car("green",3);

注:对象的结构不用实现定义,直接在构造函数中按需取用。 以上创建对象中所拥有的函数为2份,出现内存浪费。(c++java中所有对象的函数共用一份) 改进:将函数提出来,在构造函数之后,用prototype添加.(prototype属性可用来定义方法) Car.prototype.showColor = function(){ alert(this.color}; 3.6修改对象 创建新方法:Number.prototype.toHexString = function(){return this.toString(16)}; 重定义已有的方法:再定义一遍,就会覆盖,因为ECMASCript没有重载。

More:http://blog.donews.com/me1105/archive/2011/02/10/118.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: