JavaScript对象
1、基于对象的操作方式(面向对象封装、继承、多态)
2、将相关的操作使用一个对象完成,看做是一个整体
我对JavaScript对象的理解:
我们首先是有语句,然后语句中需要有值,所以有了变量代表相同 有时候同样的语句多次执行,也就是同样的代码块多次执行,所以就有了方法。方法放在一块,太多了,容易搞混,并且方法同名,使用点不同等等问题和变量的与方法相似的问题使得我们希望能够好好整理存储这些字段,所以有了对象。
JavaScript有对象的概念但是没有类的概念
JavaScript Java
对象 类
对象实例 对象
一些系统封装好了的对象:
字符串对象
数学对象
数组对象
时间对象
...
对象中存的内容?
一、属性(变量)
二、方法(函数)
都是和这个对象相关的
一、声明对象
二、使用对象
三、使用系统对象(Date)
步骤:
1、找到对象
2、实例化对象
3、操作对象
读取对象属性:
对象名.属性名
对象名[属性名]
两种方式的区别:前者的属性名不可以是变量,后者可以是变量
<html>
<head>
</head>
<body>
</body>
</html>
<script>
/*
对象是new出来的,那JavaScript中没有类这个概念,那么new什么呢?没错,就是方法!
下面是一种自定义对象的方法,我们发现它每自定义一个对象,就多了一个空方法,怎么改进呢?
我们在Java中对象的父类是Object,其实JavaScript中也有这个父类
既然对象是一个特殊的方法,我们给方法添加属性,为什么我们不可以在声明方法的时候就给他声明里面应该有的属性呢?所以我们有了第二种自定义变量的声明方式
我么在java中使用本类中的属性可以使用this关键字,没错,JavaScript中也有这个关键字。我们可以使用this改进刚才我们的创建对象方式
*/
/*方法一:
//function play(){
//}
//var p=new play();
var p=new Object();
p.width=300;
p.height=200;
p.show=function(){
alert("show");
}
p.show();
alert(p.width);
*/
/*方法二:
function play(){
var p=new Object();
p.width=300;
p.height=200;
p.show=function(){
alert("show");
}
return p;
}
var p=new play();
alert(p.width);
p.show();
*/
//第三种创建对象的方式:
function play(){
//注意:
// 在JavaScript中每一个属性都必须声明它的所属,否则外界无法访问到,它不是属于指定对象的属性
this.width=200;
this.height=300;
this.show=function(){
alert("show");
}
return this;
}
/*
var p=new play();
alert(p.width);
p.show();
*/
//创建了对象就忍不住想要遍历这个对象
//遍历对象使用的是特殊的for循环,for (var obj in 对象)。遍历出来的obj代表的是对象的每一个属性名
var p=new play();
var obj="";
/*for(obj in p){
//document.write(obj+‘<br/>‘);
//想要得到属性名和属性值键值对的组合
//document.write(obj+":"+p.obj+‘<br/>‘);
//使用对象.变量这样得到的值是undefined,所以只能使用对象名[属性名]的方式获取属性值
document.write(obj+‘:‘+p[obj]+‘<br/>‘);
}*/
/*调用对象方法的另一种方式,with语句:
with(obj){
//方法
//其他语句
}
在with结构体中使用的方法或者变量如果不加上对象名.作为声明,默认使用的都是参数对象的属性
*/
with(p){
alert(width);
show();
}
</script>
<script>
var date=new Date();
var str="今天是:"
str+=(1990+date.getYear())+"年";
str+=(date.getMonth()+1)+"月";
str+=date.getDate()+"日";
str+=date.getHours()+":";
str+=date.getMinutes()+":";
str+=date.getSeconds()+"星期";
switch(date.getUTCDay()){
case 0:
str+="天";
break;
case 1:
str+="一";
break;
case 2:
str+="二";
break;
case 3:
str+="三";
break;
case 4:
str+="四";
break;
case 5:
str+="五";
break;
case 6:
str+="六";
break;
}
document.write(str);
</script>
<html>
<head>
</head>
<body>
</body>
</html>
原文:http://www.cnblogs.com/aigeileshei/p/5615915.html