あれらの年nodeの城を攻めるライオンの道になります(五)
6420 ワード
ECMASprictリファレンスタイプObject Objectインスタンスはnew+コンストラクション関数()を使用して作成できます.オブジェクトの字面量表現も使用できます.アクセス先属性はポイント表示法 Array Array.length属性は読み取り専用ではなく、配列要素を変えることでlengthを変えることもできるし、lengthを変えることもできるし、配列を変えることもできる.
Arrayの検出
Array.join(c)は、配列の各要素がcでつなぎ合わせられた文字列を返し、パラメータが入力されていない場合はデフォルトで配列はスタックとして(LIFO)push()を用いて押し込み、データ直配列の末尾を追加する.Pop()ポップアップ末尾データ 配列はキューとして(FIFO)shift()を用いてキューを出て、配列ヘッダ要素を取得する.Push()はキューに入り、配列末尾にデータを追加 配列は逆行列として使用(FIFO、頭部が末尾に入る)unshiftがキューに入り、配列の首部にデータを追加する.pop()はキューから出て、配列末尾要素を取得 並び替え reverse()、配列を反転します. sort()は、配列ソートであり、関数指定ソートルールとして伝達される. concat()は、1つ以上のパラメータを受信し、まず現在の配列に基づいてコピーを作成し、パラメータが配列であれば各項目を配列コピーに追加し、数が配列でなければ直接配列コピーに追加する. slice(start,end)は、現在の配列のいくつかに基づいて新しい配列を作成する.satrt開始位置、end終了位置を1つ減らし、endが指定されていない場合、デフォルトはlength splice()削除:任意の数の項目を削除し、arguments[0]=削除の最初の項目位置、arguments[1]=削除の項目数
挿入(arguments[1]=0)|置換(arguments[1]=挿入項目数):任意の数の項目を挿入し、arguments[0]=開始位置、arguments[1]=削除された項目数、arguments[2~]=挿入項目位置方法indexOf()左から右へ;LastIndexOf()右から左へ 反復方法 every(fn)各実行fnは、trueを返すとtrueを返す. some(fn)は各項目fnを実行し、いずれかがtrueを返すとtrueを返す filter(fn)は各項目にfnを実行し、trueを返す項目は配列を構成して返される.--- forEach(fn)は、それぞれfnを実行し、戻り値はありません. map(fn)はそれぞれfnを実行し、関数呼び出しの結果からなる配列を返す.--- 集計方法reduce(fn)は配列第1項から後へ,reduceRight(fn)は配列最後項から前へ遍歴する.fn実行結果はprevとして次回呼び出しに渡される.配列が1つしかない場合は、直接戻ります.Arguments[0]=前の値prev arguments[1]=現在値cur arguments[2]=現在項目インデックスindex arguments[3]=配列オブジェクトarr Dateタイプvar data=new Date();getTime(ミリ秒)、getFullYear(年)、getMonth(月、0は1月)、getDate(日、1~31)、getDay(月、0は月)、getHours(時)、getMinutes(分)、getSeconds(秒) Functionタイプ関数宣言:function fn(){},解析器優先ロード.関数定義:var fn=function(){}で、ローコードに実行してからロードを解析します.
関数名は実際には関数オブジェクトを指すポインタであり、リロードは存在せず、後に定義されたオーバーライド先定義の
関数内部には
関数内部に2つの属性がある
bind関数は実行環境をバインドできます基本パッケージタイプString Number Booleanは、基本タイプ値を作成するたびに、対応するパッケージタイプ値を作成し、一連の方法を提供する.コード実行瞬間のみ
一般的なString操作方法Math|,全域内蔵オブジェクト
.
;[]
表示法も使用でき、後者は変数で属性にアクセスできるvar object1 = new Object();
var object2 = {name:'L'};
var key=name;
object.name object[key]
var arr=['a','b','c'];
arr.length=2;
console.log(arr);//['a','b']
Arrayの検出
console.log(typeof arr);//Object
console.log(arr instanceof Array);//true
console.log(arr instanceof Object);//true
console.log(Array.isArray(arr));//true
console.log(arr.constructor == Object);//false
console.log(arr.constructor == Array);//true
Array.join(c)は、配列の各要素がcでつなぎ合わせられた文字列を返し、パラメータが入力されていない場合はデフォルトで
,
つなぎ合わせます.var arr=['a','b','c']
console.log(arr.join('|--|'));// a|--|b|--|c
var arr=[0,1,5,10,15]
arr.sort(function(a,b){
if(a < b) // ,
return -1;
else if(a == b)// 0,
return 0;
esle // ,
return 1
});
console.log(arr);
var arr=[1,2,3];
var arr1=arr.concat(4,5,[6,7]);
console.log(arr);//[ 1, 2, 3 ]
console.log(arr1);//[ 1, 2, 3, 4, 5, 6, 7 ]
var arr=[1,2,3,4,5,6,7,8];
console.log(arr.slice(1,4));//[2,3,4]
console.log(arr.slice(1));//[2,3,4,5,6,7,8]
var arr=[1,2,3,4,5,6,7,8];
arr.splice(2,4);
console.log(arr);//[1,2,7,8]
挿入(arguments[1]=0)|置換(arguments[1]=挿入項目数):任意の数の項目を挿入し、arguments[0]=開始位置、arguments[1]=削除された項目数、arguments[2~]=挿入項目
var arr=[1,2,3,4,5,6,7,8];
arr.splice(2,3,'c','d','e');
console.log(arr);// 3 (3,4,5) 'c','d','e'。
var arr=[1,2,3,4,5,6];
var flag=arr.every(function(data){
return data>3;
})
console.log(flag);//false
var arr=[1,2,3,4,5,6];
var flag=arr.every(function(data){
return data>3;
})
console.log(flag);//true
var arr=[1,2,3,4,5,6];
var flag=arr.filter(function(data){
return data>3;
})
console.log(flag);//[4,5,6]
var arr=[1,2,3,4,5,6];
var flag=arr.map(function(data){
return data>3;
})
console.log(flag);//[ false, false, false, true, true, true ]
var arr=[1,2,3,4,5,6];
var sum=arr.reduce(function(prev,cur,index,arr){
return prev+cur;// prev=arr[0],cur=arr[1];
})
console.log(sum);//21
関数名は実際には関数オブジェクトを指すポインタであり、リロードは存在せず、後に定義されたオーバーライド先定義の
関数内部には
arguments( )
和this( )
和caller( )
、argumens
有callee
の属性があるarguments
オブジェクトを持つ関数を指す.function fn(num){
if(num<=1)return 1;
return num*f(num-1);//
}
function fn(num){
if(num<=1)return 1;
return num*arguments.callee(num-1);
}
var color='yellow';
var c1={color:'red'};
var c2={color:'blue'};
function say(){
console.log(this.color);
}
c1.say=say;
c1.say();//red
c2.say=say;
c2.say();//blue
say();//yellow
fuction out(){
inner();
}
function inner(){
console.log(arguments.callee.caller);
}
out() out
関数内部に2つの属性がある
lenght( )
とprototype
関数内部には2つの非継承メソッドがありますapply
およびcall
~関数内部this値を設定するのと同じように、異なるドメインで関数を呼び出します.2つのパラメータを受信します.1つ目は環境実行ドメインで、2つ目はパラメータです.applyは配列で伝達され,callは1つずつ列挙される.var color='yellow';
var o={color:'red'};
function say(){
var color='blue'
console.log(this.color);
}
say()//yellow
say.call(this)//yellow
say.call(o)//red
bind関数は実行環境をバインドできます
var color='yellow';
var o={color:'red'};
function say(){
console.log(this.color);
}
var bindSay=say.bind(o);
bindSay();//red yellow
var s='test';
s.name='t';
console.log(s.name);//undefined
// -->
var s=new String('test');
s.name='t';
s=null;
一般的なString操作方法
var s='abcdefghijk';
s.charAt(1);//b
s[1];//b
s.charCodeAt(1)//98
String.fromCharCode(98)//b
var s1=s.concat('l','m')//abcdefghijklm
var s1=s.slice(3);//"defghijk"
var s1=s.substring(3);//"defghijk", = -1
s.indexOf('a',i)//a i , 0
var s1=s.trim();//
var s1=s.toUpperCase()//
var s1=s.toLowerCase()//
Math.min(1,2,3,4)//1
Math.max(1,2,3,4)//4
Math.max.apply(Math,[1,2,3,4])//4
Math.random() 0<=x<1 --> ( , )