很多文章介绍JS是一种面向编程语言,既然面向对象编程,那么肯定有对象,那么js的对象和其他面向对象编程语言的对象定义有什么区别。
1.c#,对象是类的实例。 int 类型变量就是一个对象。结构 类型变量也是一个对象,自定义一个人的类型,实例化一个变量,也是对象。
2.js 对象,我在 w3school 看到对象的一些介绍,对于对象总有点傻傻分不清楚。到底是类型的实例,还是类型,所以我暂时直接认为给c#一样。类型的实例就是一个对象。
在网上搜索 js 创建对象方式,经常会创建对象的几种方式的blog,主要是一下集中。
第一种
var clock={
hour:12,
minute:10,
second:10,
showTime:function(){
alert(this.hour+":"+this.minute+":"+this.second);
}
}
clock.showTime();//调用
我对于他的理解是:创建了一种立即执行的,且只执行一次的类型,返回该类型的实例给clock.
所以还是先创建类型,实例才是对象。
第二种
var clock = new Object();
clock.hour=12;
clock.minute=10;
clock.showHour=function(){alert(clock.hour);};
clock.showHour();//调用
这种更好理解了,先创建了object的实例,然后给该实例添加属性和方法,
所以还是先创建类型,实例才是对象。
第三种
function clock(hour,minute,second){
this.hour = hour;
this.minute = minute;
this.second = second;
this.showTime = function(){
alert(this.hour+":"+this.minute+":"+this.second);
}
}
var newClock =new clock(12,12,12);
alert(newClock.hour);
首先定义了一个clock的类型,然后实例化该类型,所以对象还是类型的实例。
所以还是先创建类型,实例才是对象。