在Constructor的章节中我们使用建立实体的方式
function Person(name, age){
this.name = name
this.age = age
}
let c = new Person("Dennis", 22)
console.log(c) //Person { name: 'Dennis', age: 22 }
但今天我想建立一个function可以自我介绍Constructor的方法是
function Person(name, age){
this.name = name
this.age = age
this.SayHi = function() {
console.log(`$Hello I'm ${this.name} my age is ${this.age} `)
}
}
let c = new Person("Dennis", 22)
c.SayHi() //$Hello I'm Dennis my age is 22
还有一个就是今天的重点Prototype
当我们使用new建立一个物件的时候SayHi这个function会一直重复并且占用记忆体,但明明都一样何必多创造
所以我们把他抽取出来透过prototype指向SayHi这个function
function Person(name, age){
this.name = name
this.age = age
}
Person.prototype.SayHi = function(){
console.log(`Hello I'm ${this.name} my age is ${this.age}`)
}
let c = new Person("Dennis", 22)
c.SayHi() //Hello I'm Dennis my age is 22
在这里就透过prototype去指向SayHi function了
JavaScript prototype无所不在
let num = 23
let Num = new Number(23)
console.log(typeof(num)) //number
console.log(typeof(Num)) //object
上面的图完整示范了在JavaScript不论你定义number、string等等,都会透过Prototype去继承相关的method
前言 今天来讨论另一个容易被忽略的主题,如果要表达「有值」的情况,大家都很熟悉: const sco...
前言 Hi, 我是鱼板伯爵今天要在我们的专案里面加入场景的路由,这样可以方便管理我们每个场景,教学内...
课程目标 了解各种测试个案设计方法,并提供实作演练以更深入了解其观念与技术,并藉由讨论各种案例,来增...
前言 在上一个范例中,是写死回传的内容,显然在现实生活中应该是不会有公司让你可以这样做的,而当我们的...
其实每个时期程序流行的架构以及写法会略有不同,每个时期前端後端负责的范畴也不尽相同,我们无法知道我们...