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

张孝详javascript讲座笔记六(结局篇)

2010-03-10 21:49 190 查看
一,javascript的内部对象(相当于系统调用,其实本质是一个构造函数)

1,动态对象

使用“对象实例名.成员”的格式来访问其属性和方法。(用new先创建对象实例)

2,静态对象

直接使用“对象名.成员”的格式来访问其属性和方法



二,几个内置对象(构造函数)

Object对象,String对象,Math对象,Date对象,Array对象,Number对象,ExpReg对象

toString()方法:每个对象均有的方法



1,Object对象

Object对象提供了一种创建自定义对象的简单方法,不需要程序员再定义。

构造函数:

<script type="text/javascript">
<!--
function getAttributeValue(attr)
{
   alert(person[attr]);
}

var person = new Object();
person.name = 'tenfyguo';
person.age  = 18;
getAttributeValue('name');
getAttributeValue('age');
// -->
</script>




其实这不是真正的数组,只是形式上有点相似而已。

<script type="text/javascript">
<!--
function MyArray(size)
{
 this.length = arguments.length;
 for(var i=0;i<this.length;i++)
 {
    this[i]='';
 }

}

var arr = new MyArray(2);
arr[0]=3;
arr[1]='abc';
arr[2]=4;
var x,str='';
for(x in arr)
{
  str += x+':'+arr[x]+'/n';
}
alert(atr);

// -->
</script>




Array对象,尽量用此方法创建数组

三种构造函数

。Array()方法:

eg:

var arr = new Array();

alert(arr.length); //结果为0

arr[0] = 'a';

arr[1] = 1;

alert(arr.length);//结果为2

。Array(4)方法:传入初始大小的数组

。Array(3,5,'abc',3)



2,String对象-动态对象,必须先创建对象实例

. length属性 - 由于js是unicode字符编码,因此这里的中文字符的长度是1

eg:

<script type="text/javascript">
<!--
var myStringObj = new String('fanli.qq.com');
alert(myStringObj.length);
alert('fanli.qq.com'.length);
var myString = 'fanli.qq.com';
alert(myString.length);
// -->
</script>


. 常用的方法 - 都是产生对应HTML的代码

big()

bold()

fontcolor() ;//mystring.fontcolor('red');结果是嵌入HTML标签对

anchor();//在字符串的前面加入标签

link();//在字符串内容的两边加上超链接

...



charAt()方法;//返回某个字符串的指定索引位置的字符

charCodeAt()方法;//返回的结果是字符的unicode编码

indexOf()

lastindexOf()

match和search方法-匹配正则表达式

replace和split方法

slice()方法;//返回指定起始和终止位置的子字符串(包括起始位置字符,但不包括终止位置字符)

substr()和substring()方法

toLowerCase()和toUpperCase()方法



三,Math对象-提供了基本的数学函数和数学常量

Math对象是一个静态对象,不能使用new关键字进行创建对象实例,应直接使用“对象名.成员”的格式访问其属性或者方法,

eg: var num = Math.random();



四,Date对象-表示时间和日期

1,构造方法

Date();//表示当前时间

Date(dateval);

Date(year,month,date[,hours[,mintes[,seconds[,ms]]]]);

2, parse方法

分析一个表示日期时间的字符串,返回它所表示的时间值,该值以自1970年1月1日0点0分0秒算起的毫秒数,parse方法属于一个

静态方法。

3,toGMTString方法

返回Date对象实例所表示的日期的字符串格式,该格式使用格林尼治标准时间。



五,toString方法

toString方法是javascript中的所有内部对象的一个成员方法,它的主要作用就是将对象中的数据转换成某种格式的字符串表示,具体的转换方式取决于对象的类型:

eg:(技巧----toString可以输出不同的进制的字符串表示)

<script type="text/javascript">
<!--
var x = 328;
alert('hex='+x.toString(16)+'bin='+x.toString(2));
// -->
</script>




六,对象专用语句

1,with语句

with(对象名称)

{

执行语句块;//可以直接引用对象实例的方法,而无须每次都加上对象实例名

}



2,for ... in 语句

for(变量 in 对象)

{

执行语句块;

}



eg:

<script type="text/javascript">
<!--
function Person()
{
  this.name = 'tenfyguo';
  this.age  = '9';
  this.height = 176;
}

var p1 = new Person();
var prop,str = '';
//可以列举对象的可以列举的属性名,加上对象实例名[],就可以获取各个对象实例每个属性的值
for(prop in p1)
{
  str += prop + '';
}

alert(str);
// -->
</script>






七,数组 Array

1, 数组列表

。数组列表用于表示一组数据的集合,它由一对方括号[]包围,列表中的每个元素用逗号分割,数组元素可以是任意类型的数据(包括其他数组),eg:

var arr = ['23',123,'li',3.5,[]];

。对于每个数组变量,都有一个length属性,表示该数组中元素的个数。

。使用"数组变量名[索引号]"的格式来访问每个数组元素,数组列表中的第一个元素的索引是0,最后一个是length-1;

。数组列表的每个元素既可以是有效的javascript表达式,也可以为空,空元素的值为undefined,eg:

var arr = [1,,,,5];

。数组元素本身又是数组,这就是数组的数组,eg:

[['names','beansp','punpkin','max'],['age',6,5,4]]

使用'数组变量名[子数组索引号][子数组中的元素索引号]'的格式来访问数组的数组中的元素。

eg:

for(var i=0; i<arr.length;i++)

{

for(var j=0;j<arr[i].length;j++)

{

alert(arr[i][j]);

}



}



一个问题:如何判断是数组?



八,用对象的方式实现数组

<script type="text/javascript">
<!--
function MyArray()
{
 this.length = arguments.length;
 for(var i=0;i<this.length;i++)
 {
    this[i]=arguments[i];
 }

}

var str = '';
var arr = new MyArray(4,3,5,'abc');
for(var i=0;i<arr.length;i++)
{
  str += arr[i]+'/n';
}
alert(atr);

// -->
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: