资深非资深全进,javscript对象模型问题?

来源:百度知道 编辑:UC知道 时间:2024/05/19 06:34:25
资深非资深全进,javscript对象模型问题?

第一句:var a=new Array();
第二句:var b=new String();
第三句:var c=new Object();

首先Array(),String(),Object(),这些内置构造函数,可以理解为类,

那么类可以理解为一个将要被仿造的玩具模型,那么这个玩具模型有三个重要的组成部分来构成:(对象),(属性),(方法)

那么先来理解第一句:

var a=new Array()在该句中,Array()是类即玩具模型,这个typeof(Array())函数返回的是Array对象,由此可以判定里面绝对没有使用this当前对象

如果有使用this这个当前对象的话,那么为什么还多次一举再返回一个Array数组对象,所以这里返回的对象是Array数组对象,

那么a就会根据玩具模型里的(对象),(属性),(方法)来建设,模型里的对象是数组对象,那么a变量就仿造,那么a就是数组对象,

那么a这个数组对象就带有属性和方法.

接下来理解第二句:

var b=new String()在该句中,String()函数没有返回任何对象,那么它会构造一个当前对象this,也就是原型对象,来作为b建设对象时的

参照.那么b根据这个String()模型来仿造模型里的this对象.

接下来理解第三句:

var s=new Object()在该句中,document.write (Object())返回的是[object Object]

[object Object]前面这个小写object表示的是s对象实例,后面这个大写的Object表示的是object()玩具模型所返回的object对象.

那么Object()函数返回的是object对象,用typeof(Object())可以知道.

那么s变量根据这个Object()函数模型返回的object对象,也仿造出相

java script 是支持对象的“脚本语言”。
其中对象的实现方式是与Java , C++等面向对象的语言不同的。
Java script中,function 可以作为构造函数,建立新的对象。

new关键字 用于建立对象,并且传递this到构造函数,初始化对象的属性,方法等。

对于任何对象实例,当对其任何属性赋值时,只要该属性不存在,Java script会建立新属性,并赋值。也可以建立新方法。

JavaScript的对象 更像Java 中Map。所有的属性和方法,都是Map中的可以按名称访问的成员。

var a=new kk();
a.s=123;

更像是建立 Map a 。 当 a 中不存在 s时,即增加 s元素,并给他赋值为123. 如果s已存在,则改变其值。