黑马程序员-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);
课堂练习:
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);
课堂练习:
相关文章推荐
- 黑马程序员Javascript学习
- 黑马程序员__javascript重点实用实例!
- 黑马程序员 C#基础_javaScript入门
- 黑马程序员_毕向东_JavaScript视频教程(5)
- 黑马程序员_JavaScript案例(一)
- 黑马程序员——javascript语言的方法以及部分对象的使用学习日志
- 黑马程序员-javascript学习之代码示例
- 黑马程序员之javascript学习笔记:雪花飞舞特效
- 黑马程序员_java基础Html、css、JavaScript_DAY1
- 黑马程序员-javascript基础知识
- 黑马程序员-JavaScript获取HTML DOM节点元素的方法的总结
- 黑马程序员--JavaScript自学总结
- 黑马程序员_毕向东_JavaScript视频教程(3)
- 黑马程序员_学习记录20:HTML,JavaScript,CSS小结
- 黑马程序员 javaScript
- 黑马程序员_javascript
- 黑马程序员 JavaScript
- 黑马程序员_毕向东_JavaScript视频教程--学习笔记
- 黑马程序员--JavaScript
- 黑马程序员--第七季Javascript笔记