23-JavaScript-オブジェクト指向-Object類-拡張プロトタイプ-メンバー関数
Object類拡張プロトタイプのメンバー関数
1.Object類
Object類はすべてのJavaScript類の基質であり、 カスタムオブジェクトを作成する簡単な方法を提供します. カスタムコンストラクタは不要です.
1)主な属性
①constructor オブジェクトのコンストラクタ ②prototype クラスのプロトタイプのオブジェクトを取得します.
2)主な方法
①ハスOwnProperty(property) このクラスで定義された属性に属するかどうか ②isPrototypeOf(object) クラスのプロポーチを指定しますか? ③propertyIs Enumerable(property) 列挙可能な属性ですか? ④toString() オブジェクトに対応する文字列を返します. ⑤valueOf() オブジェクトの元のタイプの値を返します.
3)オブジェクトを作成する
1)Number拡張
1)パラメータリストの可変
- タイプ - 個数
2)ステートメントを省くことができますが、最大1つの値を返します.
3)同じ名前の関数は、最後の呼び出しのみです.
クラスで定義されていない関数は、グローバル関数です.
同じ理屈で、グローバル変数もあります.
1.Object類
Object類はすべてのJavaScript類の基質であり、 カスタムオブジェクトを作成する簡単な方法を提供します. カスタムコンストラクタは不要です.
1)主な属性
①constructor オブジェクトのコンストラクタ ②prototype クラスのプロトタイプのオブジェクトを取得します.
2)主な方法
①ハスOwnProperty(property) このクラスで定義された属性に属するかどうか ②isPrototypeOf(object) クラスのプロポーチを指定しますか? ③propertyIs Enumerable(property) 列挙可能な属性ですか? ④toString() オブジェクトに対応する文字列を返します. ⑤valueOf() オブジェクトの元のタイプの値を返します.
3)オブジェクトを作成する
var obj = new Object();
obj.name = " ";
obj.gender = " ";
obj.show = function() {
return this.name + " " + this.gender;
}
console.info( obj.show() );
2.原型オブジェクトを拡張する1)Number拡張
Number.prototype.add = function( num ) {
return this + num;
}
var x = 10;
// <==> var x = new Number(10);
console.info( x.add(1).add(2) ); // 13
2)拡張アラy Array.prototype.find = function(val) {
for (var i = 0; i < this.length; i++) {
if (val == this[i]) {
return i;
}
}
return -1;
}
var arr = [5,9];
// <==>
// var arr = new Array();
// arr[0] = 5;
// arr[1] = 9;
console.info( arr.find(9) );
console.info( arr.find(19) );
3.メンバー関数1)パラメータリストの可変
- タイプ - 個数
2)ステートメントを省くことができますが、最大1つの値を返します.
3)同じ名前の関数は、最後の呼び出しのみです.
function func(v1) {
return "11111111";
}
function func(v1, v2) {
return "22222222";
}
console.info( func(1) ); // 22222222
4)グローバル関数クラスで定義されていない関数は、グローバル関数です.
同じ理屈で、グローバル変数もあります.