JavaScript 組み込みオブジェクト(Number,String,RegExp,Date,Math)
[初めてのJavaScript][JavaScript]
コンストラクタ
- JavaScriptの各オブジェクトはObjectに源を発している。
- コンストラクタの概念はあり、new によってインスタンスを作成する。
- Booleanオブジェクトを除いたすべてのオブジェクトに固有のメソッドとプロパティがある。
- 静的なメソッド、プロパティもあり、これらは共用のオブジェクトを介してアクセスする。
Numberオブジェクト
- 固有のメソッドは変換(文字列へ、ロケール、言語や地域、固定小数点表記、指数表記)に関係がある。
- 定数プロパティが4つあり、Numberオブジェクトから直接アクセスできる。
固有のプロパティ
Number.MAX_VALUE;
Number.MIN_VALUE;
Number.NEGATIVE_INFINITY;
Number.POSITIVE_INFINITY;
固有のメソッド
var newVal = new Number("1.234");
newVal.toExponential(3);
newVal.toPrecision(3);
newVal.toFixed(6);
その他のメソッド
| メソッド
|
内容
|
| toString(n)
|
n進数表現の文字列を返す
|
その他
数値か否かを調べる
Stringオブジェクト
- HTMLに関係したメソッドと、そうでないメソッドがある。
メソッド(プロパティ)
| valueOf
|
Stringオブジェクトがラップしている文字列リテラルを返す
|
| length
|
文字列長(プロパティ)
|
| anchor
|
HTMLアンカーを作成
|
| big、blink、bold、italics、small、strike、sub、sup
|
HTMLフォーマットで返す
|
| charAt、charCodeAt
|
所定位置の文字、文字コードを返す(先頭0)
|
| indexOf
|
部分文字列が最初に出現する位置
|
| lastIndexOf
|
部分文字列が最後に出現する位置
|
| link
|
リンクするHTMLを返す
|
| concat
|
文字列を連結
|
| split
|
区切り文字でトークンに分割
|
| substring、substr
|
部分文字列を返す
|
| match、replace、search
|
正規表現のマッチ、置換、検索
|
| toLowerCase、toUpperCase
|
小文字、大文字変換
|
正規表現とRegExp
テンプレート:Category 正規表現
- 正規表現オブジェクトは、RegExpオブジェクトを用いて明示的に生成できるが、文字列リテラルを使っても生成できる。
var searchPattern = new RegExp('s+'); // 明示的に生成
var searchPattern = /s+/; // 文字列リテラルから生成
- RegExpオブジェクトには独自のメソッドがtestとexecの2つしかない。
testメソッド
- testは、引数として渡された文字列が正規表現にマッチするかを判断。
var ptn = /cde/;
var str = "abcdefg";
if(ptn.test(str)) alert("match");
- マッチでは大文字小文字を区別する。無視するようにするには、/i を指定する。
var ptn = /cde/i; // 大文字小文字を区別しない
- i以外に、複数の表現にマッチさせるgと、複数行にまたがってマッチさせるmがある
- RegExpオブジェクトを利用する場合は、2番目の引数としてフラグを渡す。
var ptn = new RegExp('cde', 'g');
execメソッド
- 以下の例では、フラグgがあるため、execの呼び出しごとに見つかった位置が保存される。
var ptn = /AB*/ig
var str = "abcdefgABCDEFGabcdefg";
var resultAry = ptn.exec(str);
while (resultAry) {
alert(resultAry[0]);
resultAry = ptn.exec(str);
}
- resultAry[1]以降は、グループ"(...)"を利用したときにマッチした部分が入る
var ptn = /^[a-z]+([0-9]+).*/i
var str = "abcdefg1234567ABCDEFG";
var resultAry = ptn.exec(str);
for (var i=0; i<resultAry.length; i++) {
alert(i + ":" + resultAry[i]);
}
// 0:abcdefg1234567ABCDEFG
// 1:1234567
- また、RegExpオブジェクトを利用し、RegExp.$1、RegExp.$2のように参照できる。
var ptn = /^[a-z]+([0-9]+).*/i
var str = "abcdefg1234567ABCDEFG";
ptn.exec(str);
alert("1:" + RegExp.$1);
// 1:1234567
Date
コンストラクタ
- 引数を渡さずに生成した場合、利用しているコンピュータの日付を元に日付が生成される。
var dt = new Date();
alert(dt);
// Sun Jan 20 2008 23:45:56 GMT+0900
var dt = new Date("Sun Jan 20 2008 23:45:56 GMT+0900");
var dt = new Date(0);
alert(dt);
// Thu Jan 01 1970 09:00:00 GMT+0900
- 年、月(-1)、日、時、分、秒、ミリ、秒から生成も可能
var dt = new Date(2008,0,20,23,53,10);
alert(dt);
// Sun Jan 20 2008 23:53:10 GMT+0900
日付要素取得/設定メソッド
たいていのgetメソッドには対応するsetメソッドあり
| メソッド
|
| getFullYear
|
| getYear
|
| getMonth
|
| getHours
|
| getMinutes
|
| getSeconds
|
| getMilliseconds
|
UTC用
たいていのgetメソッドには対応するsetメソッドあり
| メソッド
|
| getUTCFullYear
|
| getUTCMonth
|
| getUTCHours
|
| getUTCMinutes
|
| getUTCSeconds
|
| getUTCMilliseconds
|
文字列に変換
| メソッド
|
説明
|
| toString
|
現地時刻(英語)
|
| toGMTString
|
グリニッジ標準時
|
| toLocaleDateString
|
現在のロケールを用いた日付
|
| toLocaleTimeString
|
現在のロケールを用いた時刻
|
| toLocaleString
|
現在のロケールを用いる
|
| toUTCString
|
UTC標準時を用いる
|
上から順に実行した例
// Mon Jan 21 2008 00:03:27 GMT+0900
// Sun, 20 Jan 2008 15:04:23 GMT
// 2008年1月21日
// 0:04:53
// 2008年1月21日 0:05:08
// Sun, 20 Jan 2008 15:05:21 GMT
Math
- 数学的な関数や値を提供する。
- プロパティとメソッドはすべて静的(static)
プロパティ
| プロパティ
|
説明
|
| E
|
自然対数の低、eの値
|
| LN10
|
10の自然対数
|
| LN2
|
2の自然対数
|
| LOG2E
|
2を底とするeの対数の値
|
| LOG10E
|
10を底とするeの対数の値
|
| PI
|
円周率
|
| SQRT1_2
|
2の平方根の1/2
|
| SQRT2
|
2の平方根
|
メソッド
| メソッド
|
説明
|
| abs
|
絶対値
|
| ceil
|
最も近い整数に切り上げ
|
| floor
|
最も近い整数に切り下げ
|
| round
|
最も近い整数に四捨五入
|
| exp
|
自然対数の底eを引数の数値で累乗
|
| pow
|
数を累乗
|
| min
|
最小値を返す
|
| max
|
最大値を返す
|
| random
|
0以上1未満の乱数を返す
|
| メソッド
|
説明
|
| sin(x)
|
|
| cos(x)
|
|
| tan(x)
|
|
| acos(x)
|
|
| asin(x)
|
|
| atan(x)
|
|
| atan2(py,px)
|
|