2016-09-01 6 views
1

私はjavascriptでプロトタイプ継承の簡単な例を挙げようとしていますが、実行されていません。親切に助けてください!シンプルなjavascriptのプロトタイプの例

HTMLあなたのため

<script> 
var animal = {eats: 'true'}; 
animal.prototype.name = "Lion"; 
console.log(animal); 
</script> 
+0

"実行していない" を定義してください。 – Teemu

+0

あなたが言っていることを理解できませんか? – Deadpool

+0

ハハ、「走っていない」と言ったらどういう意味ですか?実行中で、エラーが発生した場合は、コンソールを確認してください。 'prototype'は関数のプロパティだけです... – Teemu

答えて

2

はい、あなたは限りプロトタイプが実際にが存在するとして...プロトタイプにプロパティを追加することができます。あなたの場合、最初にプロトタイプを初期化する必要があります。たとえば、次のように

var animal = {eats: 'true'}; 
animal.prototype={}; 
animal.prototype.name = "Lion"; 
console.log(animal); 

しかし、プロトタイプを定義するためのよりよい方法がある:

var Animal=function(name){ 
    this.name=name; 
} 

// Add new members to the prototype: 
Animal.prototype.toString=function() 
{ 
    return "animal "+this.name; 
} 

// Instance objects: 
var a1=new Animal("panther"); 
console.log(a1.toString()); 
1

簡単な方法。非コンストラクタの方法を使用して、既存のオブジェクトを持つオブジェクトを作成することができます。したがって、javascriptでプロトタイプの継承を使用します。もう一つは関数を使用しています。

あなたの動物の質問は前に尋ねられています:Basic JavaScript Prototype and Inheritance Example for Animals、plsはここにstackoverflowの他のjavascriptのprotoytypeの投稿に従っています。プロを活用してください。

var animal = { name: 'Lion'}; 
 
var myanimal = Object.create(animal) 
 
myanimal.eats = "true"; 
 
console.log(myanimal.name);

+0

は、プロトタイプの継承を使用することを意図していました。 – Deadpool

+1

上記の例は、単純な例を理解するために関数を使用せずに既存のオブジェクトをプロトタイプ的に継承する方法を示しています。長い道のり。 ES6で関数やクラスを使用することもできます – ajaykumar

+0

@Peterson動物のリンクを追加しました – ajaykumar

2
var Animal = function() { 
    this.eats = 'true'; 
}; 

Animal.prototype.name = 'Lion'; 

var a = new Animal; 

console.log(a.name); 
関連する問題