var x = 1; var fn1 = function(){ print(this.x); }; fn1(); //結果は1。thisはfn1オブジェクトではなくグローバルを指している。 print(fn1.x); //undefined var fn2 = function(x){ this.x = x; }: var F1 = new fn2(10); var F2 = new fn2(5); print(F1.x); //10 print(F2.x) //5 //fn2内のthisは新規オブジェクトを指している。関数実行時にnewをつけると,関数内でのthisの意味が変わり,「新規オブジェクト」を指すようになる。 newをつけて実行される関数は,新規オブジェクトの生成メソッド(コンストラクタ)として機能する。
2012年4月25日水曜日
関数とコンストラクタの違い
2012年4月23日月曜日
FirefoxでのinnerHTML
FirefoxでもinnerHTMLは使える。
要素をdocument.boxのようにではなくgetElementByIdで指定する。
document.getElementById('text').innerHTML='hogehoge';
JavaScript XMLファイルの読み込み
用意したXMLファイル
<?xml version="1.0" encoding="utf-8"?>このXMLファイルを読み込む。
1 大阪太郎 2 京都越太朗 3 三重三郎
<html>外部XMLファイルの読み込み