当前位置: 代码迷 >> 综合 >> JavaScript学习(四)——对象
  详细解决方案

JavaScript学习(四)——对象

热度:64   发布时间:2024-01-30 16:40:38.0

对象的分类:

1.内建对象

——由ES标准中定义的对象,在任何的ES的实现中都可以使用

——比如,Math  String Number Boolean Function Object....

2.宿主对象

——由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象

——比如BOM  DOM

3.自定义对象

——由开发人员自己创建的对象

JS对象的创建:后边的object()是对象的构造函数

var TuBoWen=new Object();
var TuBoWen={};

 

JS对象基本类型属性的添加:

TuBoWen.height=172;
TuBoWen.loving="打篮球、撸铁、漂亮姑娘!!";
TuBoWen.dream="像艾弗森一样突破,像基德一样传球,像吕小军一样强壮";

JS读写对象的方法:

document.write(TuBoWen.height+"</br>");
document.write(TuBoWen.loving+"</br>");
document.write(TuBoWen.dream+"</br>");

JS删除属性的方法:

delete TuBoWen.LaoSePi;

JS特殊属性名称的操作:写坑爹属性名会用的到,但是不要这么写,会被打死!!!!

var n="520";
TuBoWen[n]=520;
TuBoWen["520"]=520;
document.write(TuBoWen["520"]+"</br>");

JS检查对象中是否含有某个属性:使用 in 运算符

document.write("LaoSePi" in TuBoWen);

JS中的对象是引用数据类型:

这一点很重要,这是JS和C/C++到目前为止,我觉得差异最大的一点了,JS的数据类型中,像Number、String等类型都是基本类型,如果进行了变量名之间的赋值操作,那么两个变量会被存储在不同的空间,而对象不一样,如果进行了变量之间的赋值操作那么两个变量在同一个空间,一个变量属性的修改会牵扯到另一个变量。

1.非引用类型

var what="非引用类型在两个空间";
document.write(what+"</br>");
var how=what;
what="你看是不是?"
document.write(what+"</br>");
document.write(how+"</br>");

2.引用类型

var OtherTu=TuBoWen;
OtherTu.height=182;
document.write(TuBoWen.height);

但是注意,也仅仅是修改属性的时候会出现这种情况,但是如果整体的修改对象就不会产生类似的影响,就相当于此对象放弃了对这块地址的操作权限,和指针很相似。 

OtherTu=null;

还有一点,普通类型逻辑等于判断只判断值。而引用类型还要判断地址和值,都相等了才会返回真值。 

JS的对象也可以在创建对象的同时指定属性和值:

使用这种对象字面量的方法可以在创建对象时,直接指定对象中的属性

语法:var 对象名={

属性名1:属性值,

属性名2:属性值

}

记住也可以把属性名加上双引号,这种操作记住就可以了,没准有人这样写。

对象中也可以写一个属性为对象:下面这一段代码就是直接把Son对象作为外层对象的属性

var New_Placr={name:"微信小程序",garde:"能照葫芦画瓢","name_2":"单片机",garde_2:"一周内完成",Son:{hey:"我是外层对象的一个子对象"}
}
var New_Placr={name:"微信小程序",garde:"能照葫芦画瓢","name_2":"单片机",garde_2:"一周内完成"
}
document.write(New_Placr.name+"——"+New_Placr.garde+"</br>");
document.write(New_Placr.name_2+"——"+New_Placr.garde_2+"</br>");

 

 

 

  相关解决方案