024_js——js没有虚拟机,他是怎么创建对象的?

没有虚拟机,就没有class文件,没有class文件new Array(),这又该如何解释呢?

java中创建对象的流程是:.java文件反编译成字节码文件————》class文件运行在JVM中————》new创建对象。

 

js与Java是不同的类型的语言,谁规定了先有class文才能有对象呢!什么是对象?

在我看来对象就是是个操作数据的单元。既然这样不一定非要有class文件。

java、c、python都有class文件,可定说明class文件有优点,优点是什么?

快,当我们编译之后,他们他是是16进制的数据,更容易被操作系统识别。

 

 

js中是怎么创建对象的?

js中有两类对象,一类是function对象,一类是Object对象。Object是真正的对象,functio对象应该是为了让程序员更好了理解,假扮成的对象,他的本质是函数编程。

var eat = function(){}.

 

那这样说的话,我们只谈论Object对象,不对,除了Object对象,她还有一个最重要的对象dom对象,dom对象也可以理解为是Object对象。

只不多这个对象不用我们创建,也不用我们销毁,全是有浏览器管的。

我们就研究我们自己创建的Object对象。但是这还分成两类,一类是js自带的如Date,一类是我们自己写的,如Student。

1.调用js本身就有的构造方法

var date = new Date(),这是一种采用构造方法创建的对象,注意他的数据类型是var,并不是object,但是他的数据类型是Object。

 

2.调用自己写的构造方法。

function Student(){
alert("我是张三");
}
var student = new Student();//注意当我们执行着一句话的时候,不单单会创建student对象,也会执行构造方法中的输出语句。另外Student(),不一定非要大写

alert(typeof student);

 这一点要注意,我们js中的构造函数和java中的构造函数是不相同的,js中的构造函数既可以是构造函数也可以是普通函数,他又双重作用,但是java中的构造函数

只能创建对象。这一点主要就是js中的函数可以脱离对象,单独运行。

 

3.可以使用json数据声明对象。

 

posted on 2020-03-03 22:08  十年磨三劍  阅读(186)  评论(0编辑  收藏  举报

导航