1.Java Script
对象是JvavScript中数据类型之一,是一种复合的数据类型。它将多种数据类型集中在一个数据单元中,并允许通过对象来存取这些数据的值
1.1 什么是对象
对象的概念首先来自于对客观的世界的认识,它用于描述客观世界存在的特定实体,比如,人就是一个典型的对象,‘人’包括身高,体重等特征,同时又包含吃饭,睡觉等动作。
1.2 对象的属性和方法
在JavaScript中,对象包含两个要素:属性和方法。通过访问或设置对象的属性,并且调用对象的方法,就可以对对象进行各种操作,从而实现需要的功能。
1.3 对象的属性
包含在对象内部的变量称为属性,它用来描述对象特征的一些数据。
<script type="text/javascript">
对象.属性名
</script>
1.4 对象的方法
<script type="text/javascript">
对象名.方法名(参数)
</script>
2.1 Java Script 对象的种类
在Java Script 中可以使用三种对象,自定义对象,内置对象,和浏览器对象。
2.2 自定义对象的创建
<script type="text/javascript">
var 对象名={属性名1:属性值1,属性名2:属性值2}
</script>
<script type="text/javascript">
var student={
name:'张三',
age:18,
sex:'男'
}
document.write('姓名:'+student.name)
</script>
2.3 通过自定义构造函数创建对象
在Java Script中可以自定义构造函数,通过调用自定义的构造函数可以创建并初始化一个新的对象,于普通函数不同,调用构造函数必须使用new运算符,构造函数也可以和普通函数一样使用参数,其参数通常用于初始化新对象,在构造函数的函数体内通过this 关键字初始化对象的属性和方法。
<script type="text/javascript">
function Student(name,age,sex){
this.name=name
this.age=age
this.sex=sex
}
var student1=new Student('张三','男',18)
document.write('姓名:'+student1.name)
</script>
对象不但可以拥有属性,还可以拥有方法,在定义构造函数中,也可以定义函数的方法,于对象的属性一样都要使用this 关键字来初始化对象的方法。
<script type="text/javascript">
function Student(name,age,sex){
this.name=name
this.age=age
this.sex=sex
this.showsex=showsex //两种方式
this.showNname=function (){
alert(this.name)
}
}function showsex(){
alert(this.sex)
}
var student=new Student('张三','男',18)
student.showsex()
student.showNname()
</script>
在调用构造函数创建对象时候需要注意,如果构造函数中定义了多个方法和属性,那么在每次创建对象实列都会为该对象分配相同的属性和方法,这样会增加内存的需求,这时候可以通过prototype属性来解决这个问题。
<script type="text/javascript">
function Student(name,age,sex) {
this.name = name
this.age = age
this.sex = sex
} // 添加show()方法
Student.prototype.show=function (){
alert('姓名'+this.name+'年龄'+this.age+'性别'+this.sex)
}
var student= new Student('张三',20,'男')
var students= new Student('张四',18,'女')
student.show()
students.show()
</script>
2.4 通过Object对象创建自定义对象
Object 对象是Java Script 中的内置对象,他提供了对象的基本功能,这些功能构成所有其他对象的基础,Object 对象提供了创建自定义对象的简单方式,在使用这种方式时候不需要在定义构造函数。即可以在程序运行时候为JavaScript 对象添加属性,因此使用Object 对象很容易的创建自定义对象。
obj=new Object([value])
- obj: 要赋值为Object对象的变量名
- value: 可选项任意一种基本的数据类型,如果value为一个对象,则返回不做任何改动的该对象,如果value为null或undefined ,或者没有给出,则产生没有内容的对象
<script type="text/javascript">
student=new Object();
student.name='张三'
student.age=18
student.sex='男'
//添加方法
student.show=function (){
alert('姓名:'+student.name+'年龄:'+student.age+'性别:'+student.sex)
}
student.show()
</script>
3.对象的访问语句
在JavaScript 中 for ...in 语句和with 语句都是专门应用于对象的语句。
3.1 for ...in 语句
for...in 语句和for 语句十分相似,for..in 语句用来遍历对象每一个属性,且每次都将属性名作为字符串保存在变量里
<script type="text/javascript">
for (变量 in 对象){
语句
}
</script>
<script type="text/javascript">
var student={
name:'张三',
age:18,
sex:'男'
}
for (i in student){
document.write(student[i])//要以数组的形式调用
}
</script>
3.2 with 语句
<script type="text/javascript">
with (对象名称) {
语句
}
</script>
- 对象名称:用于指定要操作对象的名称
- 语句:要执行的语句,可直接引用对象的属性名和方法
在一个连续的程序代码中,如果对此使用某个对象的多个属性和方法,那么只需要在whit关键字后的括号中写出该对象的名称,然后在后面的大括号中的程序语句直接引用该对象的属性或者方法名,不必在每个属性名和方法名前都家乡对象实列和‘ . ’
<script type="text/javascript">
var sutende={
name:'张三',
age:18,
sex:'男'
}
with(sutende){
alert('姓名:'+name+'年龄:'+age+'性别:'+sex)
}
</script>