浅谈浅谈Javascript中的对象和继承中的对象和继承
Javascript是一门函数式编程语言,Javascript当中函数是核心,在Javascript中函数也是对象,函数对象在创建的时候会被添
加属性和方法。
在Javascript中函数对象有两种调用方式,一种是new关键字的调用,另一种是没有new关键字的调用,前者会返回一个对
象,后者会返回return语句中的内容。
function Obj (name) {
this.name = name;
return name;
}
用new关键字来调用如下:
var obj = new Obj('张三') // 返回 { 'name': '张三' }
不用new关键字调用如下:
var obj = Obj('张三') // 返回 '张三'
说完了js当中的对象和调用方式,那让我们来理解下什么是对象。
什么是对象?
对象是类的一个实例(对象可不是女朋友),有状态和行为。例如:一个电脑就是一个对象,它的状态有:大小、颜色、品牌
等,他的行为有:播视频、听音乐、聊天等。
而类是对象的抽象,可以理解为类是一个模板,它来描述一类对象的状态和行为。软件对象也有状态和行为,软件对象的状态
就是属性,行为就是方法。在软件开发中,在方法中可以操作对象的内部状态,对象的相互调用也是通过方法来完成。
类既然可以理解为一个模板,我们通过一个Person的简单例子来理解下:
function Person (name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
run = function () {
console.log('Run')
}
}
在这个类中name,age,sex为这个类的属性,而run为这个类的方法;Person的职责是构造对象,进行对象的初始化。
接下来我们看下在js中如何声明并调用对象。
对象的创建(多种方法)对象的创建(多种方法)
块级对象
var person = {
name: '王小端coder',
age: 29
}
console.log(person.name); // 王小端coder
构造函数 — 系统自带
var obj = new Object();
obj.name = '王小端coder'
console.log(obj.name); // 王小端coder
系统自带的对象有:Object、Array、Number、Boolean、Date等
构造函数 — 自定义
function Obj (name) {
this.name = name;