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

黑马程序员-javascript(下)

2014-04-08 13:19 232 查看
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()方法

eg:var  year=date.getFullYear();

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

var  day=date.getDate();

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

格式:with(对象)

{

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

 

}

eg:  with(date)

{

 

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对象中的方法)

eg:parseInt()

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

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);

课堂练习:


 


 


 


 


 


 


 


 


 


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