JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
<!-- この枠内は無視してください -->




































































<h4><strong><a href="http://www.oreilly.co.jp/books/9784873116211" target="_blank">開眼!JavaScript</a> サンプルコード</strong></h4>

<p>スクリプトはページロード時に実行されます。</p><p>再度実行する場合や「JavaScript」ボックス内のスクリプトを修正して実行する場合は上部のナビゲーションバーにある「Run」をクリックしてください。</p><p>アウトプットはページ右下のFirebug Liteコンソールに出力されます。</p>

<a href="http://shop.oreilly.com/product/0636920027713.do" target="_blank">原著:JavaScript Enlightenment</a>

JavaScript

/* この例はjsFiddleでは正常に動作しません。Webブラウザのコンソールで実行してください。*/



var Person = function(x){
    if(x) { this.fullName = x; };
};

Person.prototype.whatIsMyFullName = function() {
    return this.fullName; // thisはPerson()ではなく、Person()から生成されたインスタンスを参照する
}

var cody = new Person('cody lindley');
var lisa = new Person('lisa lindley');

// プロトタイプ継承されたwhatIsMyFullName()メソッドを呼ぶ
console.log(cody.whatIsMyFullName(),lisa.whatIsMyFullName());

/* 次の例では、デフォルトのfullNameの値を設定する。プロトタイプチェーンが有効なので、
インスタンスがfullNameプロパティを持っていない場合はプロトタイプチェーンをたどる。
Object.prototypeにfullNameプロパティを設定し、PersonとObject両方のprototypeにfullNameプロパティを持つ。Notesを参照 */

Object.prototype.fullName = 'John Doe';
var john = new Person(); // 引数が渡されていないのでfullNameプロパティは設定されない
console.log(john.whatIsMyFullName()); // プロトタイプチェーンをたどって、'John Doe'を出力