ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript での Object.create() の使用法の概要
この記事では、JavaScript での Object.create() の使用法を紹介します。必要な方は参考にしていただければ幸いです。ヘルプ。
Object.create(null) によって作成されたオブジェクトは空のオブジェクトであり、オブジェクトは Object.prototype プロトタイプ チェーンのプロパティやメソッドを継承しません。
例: toString() 、hasOwnProperty( ) およびその他のメソッド
| Parameters | Description |
|---|---|
| obj | 継承されるオブジェクトを示すオブジェクトのプロトタイプを作成します。 |
| は、新しく作成されたオブジェクトを初期化するために使用されるオブジェクトでもあります |
Object.create = function (o) {
var F = function () {};
F.prototype = o;
return new F();
}; 特定のアプリケーションを見てみましょう:
//创建一个Obj对象
var Obj ={
name:'mini',
age:3,
show:function () {
console.log(this.name +" is " +this.age);
}
}
//MyObj 继承obj, prototype指向Obj
var MyObj = Object.create(Obj,{
like:{
value:"fish", // 初始化赋值
writable:true, // 是否是可改写的
configurable:true, // 是否能够删除,是否能够被修改
enumerable:true //是否可以用for in 进行枚举
},
hate:{
configurable:true,
get:function () { console.log(111); return "mouse" }, // get对象hate属性时触发的方法
set:function (value) { // set对象hate属性时触发的方法
console.log(value,2222);
return value;
}
}
}); 焦点: get メソッドと set メソッドここにはより大きな可能性が秘められているようです。これらを使用して、データ フィルタリングとデータ バインディングを実装できます。いくつかの簡単な mvvm 効果を実現するObject.create 継承の適用:
var A = function () { };
A.prototype.sayName=function () {
console.log('a');
}
// B的实例继承了A的属性
var B = function () { };
B.prototype = Object.create(A.prototype);
var b = new B();
b.sayName(); // aキー ポイント: コンストラクターの継承と比較して、Object.create 継承は A と B のプロトタイプの完全な分離を実現します。双方が互いに影響を与えることはありません。これが Object.create のハイライトです。
以上がJavaScript での Object.create() の使用法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。