一、JavaScript 类
JavaScript 是面向对象的语言,但 JavaScript 不使用类。
在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript 基于 prototype,而不是基于类的
二、创建对象
2.1 定义创建对象的实例
实例:使用new Object()的方式
var person = new Person();
person.name =”taowuhua”
person.age=”18”
console.log(person.name)
这个方式可以使用另一个方式进行, 比如:
var person = {
name:”taowuhua”,
age:18
}
2.2 使用函数定义对象,然后创建新的对象实例
使用对象构造器:(函数构造对象)
function person(name ,age){
this.name= name;
this.age =age
}
var myFather = new person(“taowuhua”,18)
console.log(myFather.name)
注意:一旦我们有了对象构造器我们就可以创建对象实例,但是一个已经存在的对象构造器中是不能添加新的属性的。如果想要添加新的属性需要修改构造函数,这样违反了开闭原则,既然这样就没有办法了吗?答案是no
我们可以使用原型,下面会有原型的讲解
javascript添加方法
<script>
function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.changeName=changeName;
function changeName(name){
this.lastname=name;
}
}
myMother=new person("Sally","Rally",48,"green");
myMother.changeName("Doe");
document.write(myMother.lastname);
</script>
三、JavaScript prototype(原型对象)
3.1 所有的javascript对象都会从一个Prototype中继承属性和方法
- Data对象从Data.prototype继承
- Array对象从Array.prototype继承
- person对象从person.prototype继承