星世界
编者:张叶星
发布时间:2020-09-29 15:19:18
// 人类
function Person(name, age) {
	this.name = name
	this.age = age
	this.say = function(str) {
		console.log(this.name + '说:' + str)
	}
	this.doSomeThing = function(str) {
		console.log(this.name + '在' + str)
	}
}

// 学生类
function Student(name, age) {
	// 继承父类 Person的所有属性和方法
	Person.call(this, name, age)
	// Person.apply(this, [name, age])
	// Person.bind(this, name, age)()
	// Person.bind(this, [name, age])()
}

// 教师类
function Teacher(name) {
	// 继承父类 Person的所有属性和方法
	// Person.call(this, name)
	Person.apply(this, [name])
	
	this.doSomeThing = function(str) {
		console.log(this.name + '上' + str + '课')
	}
}

var student = new Student('小明', '18')
var teacher = new Teacher('张老师')

console.log(student)
student.say('我是最帅的!')
student.doSomeThing('跑步')

console.log(teacher)
teacher.doSomeThing('数学')

image.png


call()、apply()、bind() 的用法

// 父类
function Person(name, age) {
	this.name = name
	this.age = age
	this.say = function(str) {
		console.log(this.name + '说:' + str)
	}
}

// 学生类
function Student(name, age) {
	// 继承父类 Person的所有属性和方法
	// Person.call(this, name, age) // 小明说:我是最帅的!
	// Person.apply(this, [name, age])  // 小明说:我是最帅的!
	// Person.bind(this, name, age)()  // 小明说:我是最帅的!
	// Person.bind(this, [name, age])()  // 小明,18说:我是最帅的!
}
var student = new Student('小明', '18')

student.say('我是最帅的!')




本文地址:
转载请著名出处,谢谢!
欢迎交流
QQ:419268793
编者:张叶星
发布时间:2020-09-29 15:19:18
用户名:
密码:
      本站的部分文章和图片来自互联网,特别鸣谢 “百度图片”、“笑话集 www.jokeji.cn ”等, 如果本站有某些文章或图片侵犯了您的权益,麻烦您告诉我,我会及时处理。谢谢!微笑
QQ:419268793