welcome to Cheeto's blog

0%

JavaScript核心篇:原始型別的包裹物件與原型的關聯

原始型別的包裹物件與原型的關聯

1
2
var a = 'a';
console.log(a.toUpperCase()); // A

這邊可以看到我們利用 toUpperCase() 的方法來讓本來a變成大寫,而toUpperCase()其實就是原型的方法。

1
2
var b = new String('bcde');
console.log(b);

原始型別的包裹物件與原型的關聯-1

雖然利用了包裹物件會讓純值變成物件型別,但是我們可以利用這個方法來看原型裡面的所有屬性及方法。

1
2
3
4
5
6
7
var b = new String('bcde');

String.prototype.lastText = function (e) {
return this[this.length -1];
};

console.log(b.lastText()); // e

可以看到我們在原型上面新增一個方法,下面的實體都能夠共用。


接下來我們試試看 Number

1
2
3
4
5
6
Number.prototype.secondPower = function (e) {
return this * this ;
};

var num = 5;
console.log(num.secondPower()); // 25

這邊也能夠看到原型能夠共用。


再來看下一個範例

1
2
3
4
5
6
7
8
9
10
11
Date.prototype.getFullDate = function (e) {
var dd = String(this.getDate());
var mm = String(this.getMonth() +1);
var yyyy = String(this.getFullYear());

var today = yyyy + '/' + mm + '/' + dd;
return today
}

var date = new Date();
console.log(date.getFullDate()); // 2020/3/12 ((符合現在日期

這個章節的重點就是純值其實也能使用它的原型的屬性及方法。