js深入学习-对象

很多文章介绍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的类型,然后实例化该类型,所以对象还是类型的实例。

所以还是先创建类型,实例才是对象。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。