以下は、W3Cスクールのチュートリアルに書かれたJavaScriptに関する学習メモです。私は各方法を個人的にテストしました。個人的に練習した後、各メソッドの目的とパラメーターリストについて独自の理解を追加しましたが、説明は非常に詳細です。参照のためにそれを記録します:
JavaScriptアレイクラス:
JS配列を作成するには2つの方法があります。
var arr = [];または
var arr = new array();
in()、長さを指定するかどうかを指定できます。指定しても構いません。
JSの配列長が可変であるためです
concat(arr1、arr2、arr3 ...... arrx):js arrayの組み合わせ、マージされた新しい配列を返し、少なくとも1つの配列を渡す必要があるか、複数のarrayを渡すことができます。
vararr1 = newArray(3); arr1 [0] = "george"; arr1 [1] = "john"; arr1 [2] = "thomas"; arr1 [3] = "jeery"; vararr2 = newArray(3); arr2 [0] = "james"; arr2 [1] = "adrew"; arr2 [2] = "martin"; vararr3 = newArray(3); arr3 [0] = "java"; arr3 [1] = "c#"; arr3 [2] = "php"; vararr4 = arr1.concat(arr2、arr3); alert(arr4);
Join():指定されたセパレーターに従って、配列要素を文字列にスプライシングします。デフォルトのセパレーターは英語のコンマです。
vararr = newArray(3)arr [0] = "george"; arr [1] = "john"; arr [2] = "thomas"; arr [3] = "jeery"; arr.join( "。");
sort(fn):アレイソート、デフォルトでは、英語の文字のASCコードの昇順で配置されています。たとえば、Appleは実際にはオレンジの前でランク付けされています。
ソートはパラメーターを受信することもできます。これは、Javaのコンパレータに少し似ています。
つまり、デフォルトの比較ルールでソートしたくない場合は、2つのパラメーターAとBがある比較関数を提供する必要があります。
返品値が0未満の場合、aはbの先です
返品値が0より大きい場合、Bは
返品値が0に等しい場合、AとBの位置は変更されません
vararr = newArray(6); arr [0] = 5; arr [1] = 23; arr [2] = 4; arr [3] = 18; arr [4] = 88; arr [5] = 10; arr.sort(sortnumber); functionsortnumber(a、b){returena-b;}pop():配列の最後の要素を削除し、配列の長さを1だけ削減し、削除する要素の値を返します。
配列がすでに空である場合、POP()は配列を変更せず、未定義の値を返します。
vararr = newArray(6); arr [0] = 5; arr [1] = 23; arr [2] = 4; arr [3] = 18; arr [4] = 88; arr [5] = 10; vara = arr.pop(); alert(); for(varxinarr){alert(arr [x]);}プッシュ(n1、n2、n3、... nx):配列の最後に1つ以上の要素を追加し、追加された配列の長さを返します。
この方法は元の配列オブジェクトで動作し、コピーを作成しないことに注意してください。この方法は複数のパラメーターを受信できます。
少なくとも1つのパラメーターを渡す必要があります
vararr = newArray(6); arr [0] = 5; arr [1] = 23; arr [2] = 4; arr [3] = 18; arr [4] = 88; arr [5] = 10; varlen = arr.push(44,80); alert(len);
Reverse():アレイ内の要素の順序を逆にします。つまり、元の配列要素が逆()を呼び出した後、1、2、3、4、5の場合に、
要素の順序は5、4、3、2、1です。このメソッドは元の配列オブジェクトで直接動作し、コピーを作成しないことに注意してください。
vararr = [3,5,11,6,90,0]; arr.reverse(); for(varxinarr){alert(arr [x]);}Shift():配列の最初の要素を削除し、削除した要素を返します
配列がすでに空である場合、Shift()は配列を変更せず、未定義の値を返します
この方法は元の配列で直接動作し、コピーオブジェクトを作成しないことに注意してください。
vararr = [3,5,11,6,90,0]; vara = arr.shift(); alert(a); for(varxinarr){alert(arr [x]);}スライス(開始、終了):開始と終了の間の配列要素を傍受し、それを新しい配列に保存して返すために使用されます
この方法は元の配列を変更せず、配列オブジェクトのコピーを作成することに注意してください。
終了が指定されていない場合、アレイの最後まで直接開始することを意味します。
開始または終了が否定的である場合、それはそれが次のものから始まることを意味します。たとえば
-1は、最後から2番目の要素から始まることなどを意味します。
インターセプトされたインターバル範囲は[開始、終了)、フロントと開口部の間隔が閉じられ、スタートは終了よりも少ない必要があります
要素が見つからない場合、空の配列が返されます。つまり、配列の長さは0です
vararr = [3,5,11,6,90,0]; vara = arr.slice(2,4); alert(a.join()); splice(index、howmany、element1、.....、ementx):
インデックスから始まり、1つまたは宣言されたゼロ以上の要素を削除するために使用
複数の値が削除された要素を置き換え、削除されたばかりの要素の新しい配列を返します。
注:この方法は、元の配列オブジェクトの直接操作であり、オブジェクトのコピーは作成されません。
最初のパラメーター:インデックス位置から削除を開始し、インデックスがゼロから計算されることを示します
2番目のパラメーター:インデックス位置からいくつかの要素が連続的に削除されることを意味します。最初の2つのパラメーターが必要であり、その後のパラメーターはオプションです。
次のパラメーターを使用して要素を追加し、追加の要素がインデックスから追加されます。後で追加される要素の数がより大きい場合
実際に削除された要素の数が多い場合、後続の要素は数ビットで後方に移動します。たとえば、実際には4つの要素を削除しました。
実際、後で6つの要素を追加すると、最終的にインデックスから6つの要素を追加します。正面で削除されている要素は4つだけなので、
位置では十分ではないため、後続の要素は自動的に2ビットを後方に移動します。
vararr = [3,5,11,6,90,0,15,57,70,20]; vara = arr.splice(0,4,1,2,3,4,5,6); alert(a); for(varxinarr){alert(arr [x]);}unshift(element1、......、element):
配列の先頭に1つ以上の要素を追加し、追加された配列の長さを返します。少なくとも1つのパラメーターを渡す必要があります。
この方法は、元のアレイを直接操作することであり、最終的に追加された要素インデックス= 0などを操作することに注意してください。
vararr = [3,5,11,6,90,0,15,57,70,20]; arr.unshift(22,23,24); alert(arr.tostring()); alert(arr.length);
配列を拡張する関数:
array.prototype.indexof = function(o){for(vari = 0、len = this.length; i <len; i ++){if(this [i] == o){returni;}} return-1;} array.prototyp.remove = function(o){variindex = this.indexof(o); if(index!= -1){this.splice(index、1);} returnth;} vararr = [3,5,11,6,90,15,57,70,20]; arr.remove(90); alert(arr.tostring()); alert(arr.lengenting);JSの数字クラスの一般的な方法:
tofixed():数値を小数点以下の場所の数に丸めて、パラメーター値範囲は[0,20]であり、丸め後に保持された小数の場所の数を示します。
着信パラメーターが渡されない場合、デフォルトのパラメーター値は0に等しくなります
varnum = 12.5563; alert(num.tofixed()); alert(num.tofixed(2));
trocrecision():数値を指定された長さに正確にマークするために使用されます。このメソッドは、パラメーターの範囲を持つパラメーターを持つパラメーターを受信します[0,21]
パラメーターは桁数を表します。数字の総数がパラメーター値よりも大きく、数が小数である場合、実行されます。
丸め、数字の総数がパラメーター値よりも少なく、数が小数点である場合、余分な小数点はゼロを自動的に埋めます。
数字の総数がパラメーター値よりも小さく、数が整数である場合、代わりに科学表記によって表されます。
varnum1 = 100009; varnum2 = 100; varnum3 = 1111111111.00009; varnum4 = 1.00609; alert(num1.toprecision(5)); alert(num2.toprecision(5)); alert(num3.toprecision(15)); alert(num4.toprecision(3));
Isnan(num):この方法は非常に便利です
JSの文字列クラスの一般的な方法:
Charat(index):指定された位置で文字を返すために使用され、インデックスは0から計算されます
Charcodeat(index):指定された文字を返すために使用されるASCIIコード
concat(element1、element2 ...... ElementX):2つ以上の文字列をスプライスするために使用されます
indexof():文字列内の指定された文字の最初の発生のインデックスを返すために使用され、最初の文字から検索し、見つけた直後に戻ります。
lastIndexof():文字列内の指定された文字の最初の発生のインデックスを返すために使用されますが、最後の文字から始まります。
Match():指定された規則性に一致するサブストリングを取得するために使用されます。グローバル検索モードが有効になり、基準を満たす複数のサブストリングがある場合、
配列を返します。
varstr = "helloworld!howareyou?howareyoudoing?"; vararr = str.match(/you/g); alert(arr); varstr = "1plus2equal3" alert(str.match(// d/s/g));
置き換え(): 2つのパラメーターを受け入れる文字列置換操作に使用されます。
最初のパラメーター:交換する文字列、または交換する正規表現を表します
2番目のパラメーター:テキストを交換するか、関数の返品値にすることができます
この方法は元の文字列オブジェクトを変更するのではなく、新しい文字列オブジェクトを返すことに注意してください。
varstr = "ilikejava、javaissoeasytolearning!let'stogetherforjava"; vartest = str.replace(/java/g、 "javascript"); alert(test); varname = "doe、john"; alert(name.repl ACE(/(/w+)/s*、/s*(/w+)/、 "$ 2 | $ 1")); varname = "ilikejava、javaissoeasy!"; vartest = name.replace(/java/g、function(m、i){alert(m); alert(i);関数返品値を交換テキストとして使用する場合、関数には2つのパラメーターがあります。
mは、最初のパラメーター、通常の一致であるサブストリングを表し、2番目のパラメーターは元の文字列のサブストリングのインデックス位置です
search():元の文字列の指定された正規表現に準拠する指定されたサブストリングまたはサブストリングの最初の発生のインデックスを返すために使用されます。
見つからない場合は、-1を返します
var str = "私はjavascriptが好きです。";
Alert(str.search( "JavaScript"));
スライス(開始、終了):開始と終了の指定された間隔内で文字列をインターセプトし、返すために使用します。
この方法は、元の文字列オブジェクトデータを操作するのではなく、文字列のコピーを作成して、傍受された文字列データを保存します
終了が指定されていない場合、アレイの最後まで直接開始することを意味します。
開始または終了が否定的である場合、それはそれが次のものから始まることを意味します。たとえば
-1は、最後から2番目の要素から始まることなどを意味します。
インターセプトされたインターバル範囲は[開始、終了)、フロントと開口部の間隔が閉じられ、スタートは終了よりも少ない必要があります
要素が見つからない場合、空の文字列が返されます
varstr = "helloworld!"; vartest = str.slice(-2、-1); alert(test); alert(str);
split():元の文字列を指定されたスプリット文字または正規表現の一致する文字で分割し、結果を配列として返します。
この方法は、最終返品で返される配列要素の最大数を制限する2番目のパラメーターを受信することもできます。
var str = "今日はお元気ですか?"
アラート(str.split(// s/));
substr():文字列傍受に使用される方法は、2つのパラメーターを受信します。
最初のパラメーター開始は、開始インデックス位置から傍受することを意味し、インデックスは0から始まります。このパラメーターの値が負の数値の場合、
次に、-1などの文字列の端から計算が開始され、最後の文字、-2は最後の文字から2番目の文字などを意味します。
2番目のパラメーターの長さは、インターセプトされた文字列長を表します。このパラメーターはオプションです。このパラメーターが指定されていない場合、
デフォルトでは、文字列の終わりまで傍受されます。
注:この方法は推奨されなくなりました
var str = "私はJavaScriptが好きです!";
アラート(str.substr(7,10));
substring():startとendのインデックス間隔内で文字列を傍受するために使用されます。間隔範囲は[開始、終了]、フロントを閉じ、その後開いた。
注:パラメーターの開始と終了は、非陰性整数でなければなりません。
STARTが負の場合、デフォルトで開始が0に割り当てられます。
ENDが負の数値である場合、端はデフォルトで0に割り当てられ、インターセプト間隔は[0、start)に変更されます。
開始が終了より大きい場合、2つのパラメーター値の位置が最初に交換されます。つまり、間隔は[終了、開始]に変更されます。
varstr1 = "ilikejavascript!":alert(str1.substring(7,18)); varstr2 = "ilikejavascript!"; alert(str2.substring(3、-3));
tolowercase():文字列を小文字に変換します
Touppercase():文字列を大文字に変換します
JSの日付オブジェクトの一般的な方法:
日付():この方法は、日付クラスのコンストラクターです。このメソッドは、日付形式の文字列を受信します。
コンストラクターが合格しない場合、デフォルトは現在のシステム時間を取ることです。
コンストラクターは、1970-01-01からミリ秒数を受け取って、日付オブジェクトを構築できます。
指定された形式で日付文字列を受信して、日付オブジェクトを構築することもできます。
// var date = new Date( "06 05,1987"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "6 5,1987"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "06 05,1987 23:12:33"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "6 5,1987 23:12:33"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,06 05"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,6 5"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,06,05"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,6,5"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,06 05,23:12:33"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,6 5,23:12:33"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,06,05,23:12:33"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987,6,5,23:12:33"); // firefox ok ieは大丈夫ではありません
// var date = new Date( "1987/6/5,23:12:33"); // firefoxとIEは大丈夫です
// var date = new Date( "1987/06/05,23:12:33"); // firefoxとIEは大丈夫です
// var date = new Date( "06/05/1987,23:12:33"); // firefoxとIEは大丈夫です
// var date = new Date( "6/5/1987,23:12:33"); // firefoxとIEは大丈夫です
// var date = new Date( "1987/6/5"); // firefoxとIEは大丈夫です
// var date = new Date( "1987/06/05"); // firefoxとIEは大丈夫です
// var date = new Date( "06/05/1987"); // firefoxとIEは大丈夫です
var date = new Date( "6/5/1987"); // firefoxとIEは大丈夫です
// var date = new Date( "06-05-1987"); //つまり、Firefoxは大丈夫ではありません
// var date = new Date( "6-5-1987"); //つまり、Firefoxは大丈夫ではありません
// var date = new Date( "1987-06-05"); // Firefox OK、つまりは大丈夫ではありません
アラート(日付);
上記の例は、日付()コンストラクターが日付形式の文字列を受信する必要がある場合、説明するのに十分です。
次に、文字列形式を次のように指定する必要があります。
yyyy/m/d
yyyy/mm/d
yyyy/m/d hh:mm:ss
yyyy/mm/d hh:mm:ss
m/d/yyyy
mm/dd/yyyy
m/d/yyyy hh:mm:ss
mm/dd/yyyy hh:mm:ss
getDate():1か月の1日を返し、返品値の範囲:1-31
getDay():曜日を返します。これは曜日です。返品値の範囲:0-6、0は日曜日を表し、6は土曜日を表します
getMonth():日付の月数を返し、返品値範囲:0-11、0は1月、11は12月を表します。これは少し異常です
getFullyear():2桁の略語ではなく4桁で表される日付の年数を返します
gethours():時間数を返し、値の範囲を返します:0-23
getminutes():時間数を返します:値の範囲を返します:0 -59
GetSeConds():秒数を返し、値の範囲を返します:0-59
getMilliseConds():ミリ秒数を返し、値の範囲:0-999を返します。このメソッド名がわかりませんが、なぜ秒の最初の文字が大文字になっていないのですか?
getTime():1970年1月1日の00:00:00の間に指定された日付のミリ秒数を返します。
parse():指定された日付に準拠する日付の文字列を日付に変換し、その日付から1970-01-01にミリ秒数を返すために使用されます
注:この方法は静的な方法であり、日付オブジェクトでは呼び出すことはできませんが、日付クラスでは呼び出す必要があります。
// var date = date.parse( "1987-06-05"); // firefox OK、つまり、OKではありません
// var date = date.parse( "06-05-1987"); //つまり、Firefoxは大丈夫ではありません
// var date = date.parse( "06/05/1987"); // IEとFirefoxは大丈夫です
var date = date.parse( "1987/06/05"); // IEとFirefoxは大丈夫です
// var date = date.parse( "6/5/1987"); // IEとFirefoxは大丈夫です
// var date = date.parse( "1987/6/5"); // IEとFirefoxは大丈夫です
// var date = date.parse( "1987/06/05 23:12:22"); // IEとFirefoxは大丈夫です
// var date = date.parse( "6/5/1987 23:12:22"); // IEとFirefoxは大丈夫です
// var date = date.parse( "1987/6/5 23:12:22"); // IEとFirefoxは大丈夫です
アラート(日付);
上記の例を通して、解析方法で受信した日付文字列形式が比較的互換性があることを確認することは難しくありません。
yyyy/mm/dd
yyyy/m/d
mm/dd/yyyy
m/d/yyyy
yyyy/mm/dd hh:mm:ss
yyyy/m/d hh:mm:ss
mm/dd/yyyy hh:mm:ss
m/d/yyyy hh:mm:ss
setDate():1か月の特定の日を設定し、値範囲:1-31
setday():曜日を設定します。これは曜日です。値の範囲は0-6、0は日曜日、6つの土曜日を意味します
setMonth():日付数を日付に設定します。値範囲は0-11、0は1月、11は12月、これは少し異常です
setFullyear():2桁の略語ではなく4桁で表される日付の数値を設定します
sethours():時間数、値範囲:0-23を設定します
setMinutes():分数を設定:値範囲:0 -59
SetSeconds():秒数、値範囲:0-59を設定します
setMilliseConds():ミリ秒数を設定し、値範囲は0-999です。私はこの方法を理解できません、なぜ秒の最初の文字が大文字にされていないのですか?
Settime():1970年1月1日に00:00:00の間にミリ秒数を設定します。
toString():日付オブジェクトを文字列形式に変換します。デフォルトはグリニッジ標準時間形式、つまりGMT形式です。
totimestring():日付オブジェクトの時間部分を文字列形式、gmt形式に変換します
todatestring():日付オブジェクトの日付部分を文字列形式、gmt形式に変換します
Tolocalestring:現地語の日付ルールによると、中国語版はyyyy year mm mont dd Date hh:mm:ssです
date.utc(年、月、日、時間、数分、秒、ms):
この方法は、世界時間に従って1970-01-01のミリ秒数を返すために使用されます。最初の3つのパラメーターが必要であり、残りのパラメーターはオプションです。
それは、それぞれ年、月、日、時間、分、秒、ミリ秒を表します。
この方法で返されるミリ秒数は、日付()コンストラクターに渡すことができます。
日付オブジェクトのToStringメソッドは、デフォルトでGMT形式に変換されます。私たちにとって、それは適用されません。多くの場合、yyyy-mm-dd hh:mm:ss形式で表示したいと考えています。
日付ネイティブオブジェクトはこの関数を提供しないため、それ自体を展開する必要があります。
date.prototype.format = function(format){varo = {"m+":this.getmonth()+1、// month "d+":this.getdate()、// day day "h+":this.gethours()、// hour time "m+":this.getminutes()、//微小微小秒。 「Q+」:math.floor((this.getmonth()+3)/3)、// Quarter Quarter "s":this.getMilliseConds()// Millis Econd milliseconds} if(/(y+)/。test(format)){format = format.replace(regexp。$ 1、(this.gettlyear()+"") egexp( "("+k+")")。test(format)){format = format.replace(regexp。$ 1、regexp。$ 1.length == 1?o [k] :( "00"+o [k])。使用例:
vardate = newdate(); alert(date.format( "yyyy-mm-ddhh:mm:ss"));
JSのネイティブ日付クラスは、ADDメソッドを提供しません。つまり、元の日付に基づいて指定された日数を追加または減算します。これで、次のように拡張されています。
date.prototype.dateadd = function(interval、number){vard = this; vark = {'y': 'fullyear'、 'q': 'month'、 'm': 'month'、 'date'、 'd': 'h': 'hours'、 'n': '' minuts s '、' s ':' sencess '、' ms ':' milliseconds '}; varn = {' q ':3、' w ':7}; eval(' d.set '+k+k+k+'(d.get '+k [interval]+'()+'+((n [interval] || 1)+'); returnd;};間隔パラメーター:
y年
Q Quarterly
m月
D日
w
H時間
n分
S秒
MSミリ秒
数値パラメーター:時間間隔は数値でなければならず、正の数は指定された間隔の将来の日付を示し、負の数は過去の日付を示します
// 2つの日付間の時間間隔を計算するために使用される、
//この方法を使用して、2つの日付のサイズを比較します。戻り値が0より大きい場合、objdate2が比較的大きいことを意味します。
// 0未満の場合、それはobjdate2が小さいことを意味します
date.prototype.datediff = function(interval、objdate2){var d = this、i = {}、t = d.gettime()、t2 = objdate2.gettime(); i ['y'] = objdate2.getTullyear() - d.getfulterear(); i ['q'] = i ['y']*4+math.floor(objdate2.getmonth()/4)-math.floor(d.getmonth()/4); i ['m'] = i ['y']*12+objdate2.getmonth()-d.getmonth(); i ['ms'] = objdate2.getTime()-d.getTime(); i ['w'] = math.floor((t2+345600000)/(604800000)) - math.floor((t+345600000)/(604800000)); i ['d'] = math.floor(t2/86400000)-math.floor(t/86400000); i ['h'] = math.floor(t2/3600000)-math.floor(t/3600000); i ['n'] = math.floor(t2/60000)-math.floor(t/60000); i ['n'] = math.floor(t2/60000)-math.floor(t/60000); i ['s'] = math.floor(t2/1000)-math.floor(t/1000); I [interval];}を返します間隔パラメーター:上記のDateAddメソッドの間隔パラメーター説明を参照してください。
objdate2:別の日付オブジェクト
JSの数学クラス:
このクラスは静的クラスであり、コンストラクターを介してインスタンスを作成することはできないため、提供された方法はすべて静的な方法であり、クラス名を介して直接呼び出されます。
ABS():数字の絶対値を取得します。提供されたパラメーターが文字列である場合、最初に数値に変換しようとします。できない場合
数値に変換されると、直接NANを返し、可能であれば絶対値を返します。
CEIL():合格したパラメーターでラウンドの計算を実行します。渡されたものが数ではない場合、数値的に変換しようとします。
変換できない場合、NANを直接返します。
floor():渡されたパラメーターでダウンラウンド計算を実行します。渡されたパラメーターが数字ではない場合、数値的に変換しようとします。
変換できない場合、NANを直接返します。
max(x1、x2、x3 ...... xn):指定されたパラメーターの最大値を返します。指定されたパラメーターの1つを数値に変換できない場合、直接
NANを返す、着信パラメーターが渡されない場合、負の無限を返します
min(x1、x2、x3 ...... xn):指定されたパラメーターの最小値を返します。指定されたパラメーターの1つを数値に変換できない場合、直接
NANを返し、着信パラメーターが渡されない場合、正の無限を返します
pow(x、y):xのy力を返します。計算結果が負の数である場合、NANを返します。計算結果が大きすぎる場合、浮動点オーバーフロー。
無限に戻ります
ランダム():0〜1の間の乱数を返します。
round(x):xに最も近い整数。 xが正の数字の場合、0.5は1に変換されます。-0.5の場合、放棄されます。
-0.50001は-1に変換されます
SQRT(x):数の平方根を返します。 xが0未満の場合、nanを返します。
渡されたものが数ではない場合、デジタルで変換しようとします。
変換できない場合、NANを直接返します。
JSのregexp通常のオブジェクト:
通常のオブジェクトを作成するには2つの方法があります。
1。 /パターン /属性
パターンは正規表現の部分です、
属性:「G」、「I」、「M」およびその他の値を含むオプションのパラメーター
G:グローバルマッチを意味します(最初の試合を見つけた後に停止する代わりにすべての試合を見つける)
I:上限と小文字が無視されることを意味します
M:複数の行の一致を意味します
2、新しいregexp(パターン、属性)、2番目のパラメーターを選択できます
JavaScriptネイティブオブジェクトの一般的な方法の上記の要約(推奨)は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。