本篇记录有关prototype的定义,自订及新增methods的简单操作。
在JS里面,原型也是一个物件,而每个原型的物件都有自己的属性、methods或称函式。
var a = [1, 2, 3];
console.log(a);
a.forEach(function (params) {
console.log(params); //1,2,3
})
图中的toUpperCase极为从String原型继承的method。
var a = 'a';
console.log(a.toUpperCase());
var b = new String('b');
console.log(b);
console.log(b.toUpperCase());
b是物件型别,但是他依然是继承於String原型,所以String的method依然可以使用。
var b = new String('baby');
console.log(b);
String.prototype.lasttext = function (params) {
return this[this.length - 1]
}
console.log(b.lasttext());
b就是物件,属性及原型如下图:
利用新增String原型的method一个属性lasttext,且值为一个函式;因为JS除了primary tpye都是物件,这边设计要取最後一个字,所以length - 1。
console.log(b.lasttext()):y。
利用建构子将函式转为新物件并供後续使用。
function BluePrintDog(name, color, size) {
this.name = name;
this.color = color;
this.size = size;
}
var DogA = new BluePrintDog('TOM', 'black', 'small');
console.log(DogA);
DogA从BluePrintDog建构式取得3个属性。
function BluePrintDog(name, color, size) {
this.name = name;
this.color = color;
this.size = size;
}
BluePrintDog.prototype.eat = function () {
console.log('乖乖吃')
}
var DogA = new BluePrintDog('TOM', 'black', 'small');
console.log(DogA);
DogA.eat();
<<: Autofac 如何协助 .NET Core MVC 做 Dependency Injection- 图解概述
在开始使用 Framework 之前,我们还是得先看看有没有办法利用纯手工的方式,先来解决一些基本...
嗨!我是莉莉,目前是个软件工程师。去年因为公司内部任务接触到和资安相关的议题,开始对资讯安全感兴趣、...
SPI介绍 SPI(Serial Peripheral Interface)是主从式同步串列通讯,可...
前言: 谈到Alibaba(阿里巴巴集团),最为人所知的印象是它在电商产业的龙头地位。然而近几年它在...
写在前面 除了 Day 01 的 Tobymini 页面管理,可以和同事之间互相分享网页之外, 有时...