JS まとめメモ

書き方いろいろ

in の使い方

if('when' in data) {
  alert('キー「when」の値は「' + data['when'] + '」です。');
}


引数の数を変える

(function(){
	var arr=[11];
	arr.push.apply(arr,arguments)
	var f=function(){
		for(var i=0;i<arguments.length;i++)alert(arguments[i])
	}
	f.apply(this,arr)
})(22,33)

変換

数値から文字列へ変換

var x=123+'';
alert(x.length) //3
alert("5"*"2") //10

小数点以下桁指定
var x=123.5;
alert(x.toFixed(2));//123.50
alert(x.toFixed(0));//124 四捨五入

有効桁数指定
var x=123.5;
alert(x.toPrecision(6));//123.500

文字列から数値へ変換

var x='123'-0;
alert(x.length) //undefined

//先頭文字を数値化
alert(parseInt("12.5xx"))   //12 (整数部のみ)
alert(parseFloat("12.5xx")) //12.5

論理値に変換

var x=1
alert(!!x) //true
alert(Boolean(x)) //true

関数の定義

(new Function("a","b","alert(a+b)"))(1,2) //3

配列の定義

var arr=[1,,10]
alert(arr[2]) //10
alert(arr[1]) //undefined

stringはオブジェクトでない
オブジェクトのように扱えるのはStringラッパーオブジェクトが内部的に機能してるおかげ
オブジェクトとして扱うには new String する

var x="xxx"
x.aaa=function(){alert(9)}
alert(x.aaa) //undefined

var x=new String('xxx')
x.aaa=function(){alert(9)}
x.aaa() //9





applyでthis

(function(){this.aaa();}).apply(XXX.YYY.ZZZ); 

モジュール依存チェック

if( !BBB )throw('ERROR!');