function mconsole (...args) {
console.log(JSON.stringify([...args]))
}
function createPerson(name, age, job) {
var o = new Object()
o.name = name
o.age = age
o.job = job
return o
}
var person1 = createPerson('张飞', 18, '屠夫')
mconsole(person1)
function Person4(name, age, job) {
this.name = name
this.age = age
this.job = job
}
var p4 = new Person4('曹操', 23, '丞相')
var p41 = new Person4('夏侯淳', 24, '将军')
mconsole('p4', p4, p41, p4.constructor == Person4)
function Person5() {}
Person5.prototype = {
name: '张三的原型',
age: 11,
job: '屠夫的原型'
}
let p5 = new Person5()
p5.name = '张三'
p5.start = 2
mconsole('p5', p5.name, Object.getPrototypeOf(p5), "name" in p5,
p5.hasOwnProperty( 'name'), Object.keys(p5),
Object.getOwnPropertyNames(Person5.prototype),
)
class Person {
constructor(name, age, job) {
this.name = name
this.age = age
this.job = job
}
}
var person2 = new Person('关羽', 20, '武圣')
mconsole(person2)
class Chinese extends Person {
constructor(name, age, job, start) {
super(name, age, job)
this.start = start
}
}
var person3 = new Chinese('刘备', 22, '大耳', 5)
mconsole(person3)
console