黑马程序员-javascript(下)

来源:互联网 发布:网络推广招聘东莞 编辑:程序博客网 时间:2024/06/08 08:37

Js中常见对象操作(Object是基类)

1、String对象

  创建String对象的两种方式:

String  str=new String(abc);

String  str=abc;

一些方法:

str.length (这个事属性)  str.bold()代表加粗   str.link(http://www.baidu.com地表超链接

str.substr(1,3) 取出元素(从第一个元素开始,连续取三个)

str.substring(1,3)取出包括第一个元素,不包括第三个元素的字串。

 

那么能否将自定义的方法添加到String类中,方便以后可以直接由String对象来调用,就像调用String类中已定义的方法,这里可以使用一个该字符串的原型属性来完成,(用prototype(一个属性)可以获取到这个原型对象,并通过prototype就可以对对象的功能进行扩展)。

用法举例:

增加自定义属性:

String.prototype.len=10;

这是给String原型增加一个Len属性,以后凡是字符串对象都有Len属性。

增加自定义方法:

String.prototype.mytrim=function()

{

这里可以在定义一个函数(与Java不同)

}

这是给String原型增加一个mytrim()方法。

2、Array对象(数组对象)

concat()方法,push()方法,shift()方法,unshift()方法等

join()方法:返回字符串值,其中包含了连接到一起的数组的所有的元素,元素由指定的分隔符分隔开来。(默认用逗号分隔)

当然,也可以利用原型为Array对象添加新方法(eg: getMax())

3、Date对象

getTime()方法:将日期转换成毫秒值。

这个对象中存在一系列可以获取年月日的方法。

toLocalString()方法

toLocalDateString()方法

parse()方法

egvar  year=date.getFullYear();

var  month=date.getMonth()+1;//因为getMonth()返回的值为0-11,所以这里加上1.

var  day=date.getDate();

注意:为了简化对象调用内容的书写,可以使用js中的特有语句with来完成。

格式:with(对象)

{

在该区域中可以直接使用指定的对象的内容,不需要写对象了

 

}

eg:  withdate

{

 

var  year=getFullYear();

var  month=getMonth()+1;

}

4、Math对象

该对象中的方法都是静态的,不需要new,直接用Math调用即可。

var  num1=Math.ceil(12.34);//返回大于等于指定参数的最小整数

var  num2=Math.floor(12.34) //返回小于等于指定参数的最大整数

var  num3=Math.round(12.34)//四舍五入

var  num4=Math.pow(10,2)//相当于10的平方

random()方法

5、全局方法(Global对象中的方法)

egparseInt()

特点:可以直接使用,无需用类或对象来调用

var   val=parseInt(12abc);// val=12

var   num=parseInt(110,2)// 结果为6(就是将指定进制的数据转换成10进制)

 

而将10进制数据转换成其它进制,需要使用Number对象中的方法,

Eg: var num=new Number(6);

       num.toString(2);//转换成二进制

6、js中的特有语句(for   in

格式: for(变量  in  对象)//对对象进行遍历的语句

{

 

}

var arr=[32,80,165];

eg:  for(i   in   arr)

{

Document.write(i=+arr[i]);

}

7、js中自定义对象

如果想要自定义对象,应该先对对象进行描述,然而js是基于对象,而不是面向对象的,不具备描述事物的能力,(如果还想按照面向对象的思想编写js,可以在js中用函数来模拟面向对象中的描述)

 

//js来描述人

function Person()

{

alert(person run);

}

 

  

 

//通过描述进行对象的建立

var  p=new Person();

//动态给p对象添加属性,直接使用p.属性名即可

p.name=zhangshan;

p.age=30;

//p对象添加方法

p.show()=function()

{

alert(show run);

}

 

 

2)另一种封装方式(封装键值对)

eg: var   pp={

 

name:小马,age:36,

getName:function(){return  this.name;}

 

               }

alert(pp.age+:+pp.getName());

(注意这里的pp.age等价于pp[age])

 

for(x  in  pp)

{

document.write(x+:+p[x]);

}

 

 

 

eg: var  mymap={

              names:[lisi1,lisi2,lsii3],nums[36,56,23],

 

 

 

              }

alert(mymap.names[i]);

alert(mymap.names);

课堂练习:

 

 

 

 

 

 

 

 

 

 


0 0
原创粉丝点击