1.对象的产生:为什么会有对象?举例:一个人,会有身高,年龄,姓名等特征,而不同的人,这些特征是不一样的,但是身高,年龄和姓名这些类似对象里面的属性名字是一样的,如果这些参数比较多的话,我们可以使用对象进行简化,编程中任何一个新的名词产生都是为了提高效率,函数如此,对象亦是如此。
2.什么是对象:在js中,我们可以简称万物皆对象,对象就是无序属性的集合,在js中对象里面的内容成键值对,每个属性名都有其对应的属性值,而且对象的属性名是不可以重复的,利用这个特征,我们可以进行数组的去重。
3.对象的属性和方法:什么是对象的属性和方法:我们简单拿一辆车举例:车的颜色,大小等外观特征就相当于对象的属性,而车的行为:比如车的启动,就是对象的方法。
4.new 关键字:构造函数,是一种特殊的函数,主要用来创建对象的初始化对象,用于创建一类对象,首字母大写。
new执行时的步骤:在内存中创建一个新的空对象;
new让this指向这个新对象;
new返回这个新对象
5.this:谁调用就指向谁;
1.1 函数在定义this的时候是不确定this的指向问题的,只有在调用的时候才能确定指向谁;
1.2 一般函数直接执行,内部this指向全局window
1.3 函数作为一个对象的方法,被该对象所调用的时候,this指的是该对象
1.4 构造函数中被谁调用,this就指向谁
6.对象创建的4中方法:
1.1 对象字面量:直接{}里面加入内容就行
var o{
name:'zs',
age:18
}
注意对象里面属性与属性之间用逗号隔开
1.2 new Object()
var obj = new Object()
1.3 工厂函数创建对象:封装一个函数,函数里面通过new实例化一个新的对象,然后直接对象。属性名=属性值,来添加属性
function createPerson(age,name,sex){
var person = new Object();
person.name = name;
person.age = age;
person.sex = sex;
person.sayHi = function(){
conlose.log('hi')
}
}
var per = createPerson(22, 'zs', 'man');
1.4 自定义构造函数:(之前构造对象使用内置对象object,自定义的方法可以让我们自己构造函数)
function Person(age,name,sex){
this.age = age;
this.name = name;
this.sex = sex;
this.sayHi= funcion(){
conlose.log('hi')
}
}
var per = new Person(22,'zs','man')
对象的遍历:
语法:for…in 遍历一个对象:
var obj = {
name:'zs',
age:22,
sex:'man'
}
for(var key in obj){
conlose.log(obj[key]);
conlose.log(key)
}
js中的错误:try 和 catch
try和catch成对出现;
finally语句:不论之前的try和catch是否产生异常,都会执行finally里面的代码;
throw:创建或抛出异常