Javascript高级程序设计 笔记(三)

总的来说JavaScript是面向对象语言,其实与java有很多共通的地方。

声明和实例化与java一样,利用new关键字创建对象,区别在于javascript对象构造函数如果没有参数,可以省去。 var oObject = new Object; 与java一样变量也表示引用,并且也有相似的垃圾回收规则。

Array对象几种创建方式:var arr = new Array();    var arr = new Array [20];    var arr = new Array{"aa","bb"};   这个是我认为比较特别的方式 var arr = [1,2,3]

Array对象与字符串的相互转化: toString,valueOf输出字符串的值,间隔符号利用join函数指定。 String转换成数组调用split(),参数表示分隔符;当参数为""时,表示一个一个字符输出。

堆与栈:可以利用Array的方法模拟堆与栈,这个会很有用!利用push,pop模拟栈,后进先出;也可以利用shift,unshift模拟,区别是一个针对最后一个元素操作,一个针对第一个元素操作。可以利用shift与push模拟队列。

Array对象基本操作:reverse逆序,sort排序(排序需要将数组中元素作为对象进行处理),splice(这个方法可以增删改数组元素,通过参数来控制行为)

ECMAScript内置对象,Global&Math

GLOBLE:我们使用过的isNaN,isFinite,parseInt方法都是属于Global对象的,应为与java中一样,所有的函数是某个对象的方法。Global提供了uri编码函数,encodeURI,encodeURIComponent,decodeURI,decodeURIComponent,避免使用escape,unescapse应为这两个函数只能对Ascii编码正确

eval方法:书中说eval是ECMAScipt最强大的方法。相当与ECMAScript的解释程序,把参数解释为ECMAScript真正的语句。

Global属性:undefined、NaN、各种对象的构造函数是Global的属性,不知道这句话怎么理解

作用域:javascript中只有一个作用域(书上这么说,但是我的问题是不是有局部变量和全局变量的问题吗),就是共有作用域。任何对象的属性都是可以访问的。

this:this只想调用该方法的对象  

 

 

posted @ 2012-06-23 22:36  winnerX  阅读(131)  评论(0编辑  收藏  举报