JavaScript的对象
-
4-4自定义JavaScript的对象
4-4-1使用object对象创建自定义对象
<script type="text/javascript"> var obj=new Object(); obj.name = "cy"; obj.age = "22"; document.write("姓名" + obj.name + "<br/>"); document.write("年龄" +obj.age+ "<br/>");
document.write("年龄" +obj.age+ "<br/>");
</script>
使用new运算符创建对象,新建对象的属性和值
JavaScript对象可以视为数组来处理,对象的属性就是数组的元素,所以可以使用数组下标来访问对象属性,将属性名称视为数组下标;
4-4-2with程序块
with程序块能够针对对象创建程序块,在程序块中的程序代码不需要指明对象名称,即可新建属性和显示属性的内容。
with 语句 为一个或一组语句指定默认对象。
用法:with (<对象>) <语句>;
with对象能够使我们很方便的使用某个对象的一些属性,而不用每次都去写对象名.属性 的形式,直接使用对象名。直接使用属性。
for/in循环可以遍历和显示对象的所有属性
for
(变量in
对象) { 在此执行代码 }
for...in 语句用于对数组或者对象的属性进行循环操作。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
4-4-3使用构造函数来创建函数
JavaScript的内部对象就是一些默认的构造函数
步骤一:使用构造函数来声明对象
this关键字在构造函数中可以用于引用对象本身,也就是构造函数准备创建的自定义对象,因为函数参数和属性同名,所以使用this关键字表示对象的属性值,而不是函数的参数。
步骤二:使用new运算符创建对象
声明对象的构造函数后,就可以使用new来创建对象。可以在创建对象的时候指定属性值,也可以创建后指定对象的属性值。
function hanshu(name,age) { this.name = name; this.age = age; } var objhanshu = new hanshu("cy", "22"); var objmyhanshu = new hanshu(); objmyhanshu.name = "hy"; objmyhanshu.age = "20"; document.write("姓名" + objhanshu.name + " " + "年龄" + objhanshu.age); document.write("<br/>"); document.write("姓名" + objmyhanshu.name + " " + "年龄" + objmyhanshu.age);
4-4-4对象的层级结构
JavaScript对象可以建立“对象层级结构”,因为对象属性可以是另一个对象的子对象,可以让我们建立层级对象结构。
<script type ="text/javascript"> function hanshu(name, age,sex) { this.name = name; this.age = age; this.sex = new xinbie(sex, "female1234"); } function xinbie(male, female) { this.male = male; this.female = female; } var objhanshu = new hanshu("cy", "22"); var objmyhanshu = new hanshu(); objmyhanshu.name = "hy"; objmyhanshu.age = "20"; objmyhanshu.sex = "male"; document.write("姓名" + objhanshu.name + " " + "年龄" + objhanshu.age+"性别"+objhanshu.sex.female); document.write("<br/>"); document.write("姓名" + objmyhanshu.name + " " + "年龄" + objmyhanshu.age + "性别" + objmyhanshu.sex); </script>
4-4-5新建对象的方法
-
4-5JavaScript的prototype对象
JavaScript的每个对象都有prototype的属性,这个属性是一个Prototype对象,Prototype对象的属性会被所有的对象继承
使用prototype对象扩展对象可以大幅减少对象使用的内存空间。
无论是否已经创建对象,我们都可以使用prototype属性来扩展对象的属性和方法。
4-5-2新建Prototype对象的属性
JavaScript只允许使用new运算符创建的对象使用prototype属性,
4-5-4扩展JavaScript内部对象的方法