『JavaScriptチュートリアル』学習補遺(一)
7834 ワード
学習のチュートリアルアドレスは次のとおりです:JavaScriptチュートリアル
基本構文
変数宣言変数は、どの宣言でも最初の行に昇格します. 変数は varは、複数の変数 を宣言することができる.行のコードが 変数宣言に値が付与されていない場合、値は ブロック
js htmlを使用したコメント
jsは、例えば
注意: xの値は1です.
じょうけんけっていは、 if...else...の構造は
式 を用いることができる. 多重ループが存在する場合、パラメータを持たない
データ型
ぶんかつ数値(number)、文字列(string)、ブール値(boolean)の3種類で、元のタイプ と総称される.オブジェクト(object)は最も複雑なデータ型であり、3つのサブタイプに分けることができる. 狭義のオブジェクト(object) 配列(array) 関数(function)
ブール値ブール値変換規則は、次の6つの値が 空の配列(
値すべての数字は64ビットの浮動小数点数の形で保存され、すべての数字は小数(64ビットの浮動小数点数)である.一部の演算は整数のみが完成する場合、64ビットの浮動小数点数を自動的に32ビットの整数に変換してから演算する. 浮動小数点数が正確な値ではない 浮動小数点数の64個のバイナリビットは、一番左から、このように構成されています. 第1位:符号位、 を示す.位から12位(計11位):指数部 13位から64位(52位):小数部(有効数字 )数値の精度-2^53から2^53 数値範囲2^1024から2^-1023 NumberオブジェクトのMAX_VALUEプロパティとMIN_VALUEプロパティは、表すことができる特定の最大値と最小値を返します. の数値は、字面量(十進法、十六進法、八進法、バイナリ)でもよいし、科学計数法 でもよい. 10進数:先頭0の値がありません. 8進数:接頭辞 16進数:接頭辞 バイナリ:接頭辞 JavaScriptは自動的に数値を科学計数法(小数点前の数字は21桁より多い.小数点後のゼロは5個より多い.)に変換し、その他の場合は字面形式で直接表す. のほとんどの場合、正と負のゼロは正常な
上のコードがこのような結果になったのは,正のゼロを除いて
NaN を表す である. 配列の
Infinity
えんざんきそく
0に
基本構文
変数宣言
$
_
および任意のUnicode
文字で使用できますが、数字ではありません.var a, b = 1;
;
しかない場合、空の文を表す.;;;
は3つの空の文です.undefined
です.{}
は変数の役割ドメインを制限しない.js htmlを使用したコメント
html
jsは、例えば
var x = 1; x = 3;
注意:
-->
は行の先頭にいなければならず、単行注釈と見なされ、コードの真ん中に書かれている場合は--演算子と見なされる可能性があります.function countdown(n) {
while (n --> 0) console.log(n);
}
countdown(3);
: 2 1 0
while n-- > 0
じょうけんけってい
===
ではなく==
を優先的に使用して条件比較を行う.if (x = 2) { // ,
if (2 = x) { // ,
{}
を使用することを提案します.そうしないと、elseは自動的に彼の最近の'if'とペアリングします.if (m !== 1) {
if (n === 2) {
console.log('hello');
}
} else {
console.log('world');
}
// world
switch
文の内部には「厳密に等しい演算子」が採用されており、タイプ変換は発生しません.var x = 1;
switch (x) {
case true:
console.log('x ');
break;
default:
console.log('x ');
}
// x
式
switch
およびcase
のいずれも、式switch (1 + 3) {
case 2 + 2:
f();
break;
default:
neverHappens();
}
for
は式を書かなくてもよいが、;
は省略できない.for ( ; ; ){
console.log('Hello World');
}
break
文は、コードブロックまたはループから飛び出すために使用される.continue
文は、このループを直ちに終了し、ループ構造のヘッダに戻り、次のループを開始するために使用される.break
文およびcontinue
文は、いずれも最内層ループのみを対象とする.label
ラベルは、通常、break
文およびcontinue
文と組み合わせて使用され、特定のループから飛び出します.top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
データ型
ぶんかつ
undefined
およびnull
は、一般に2つの特殊な値と見なされる.typeof
演算子は、値のデータ型を返します.typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object",
typeof undefined
// "undefined"
function f() {}
typeof f
// "function"
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
null
およびundefined
null
は空の値を表す;undefined
は「未定義」を表し、// ,
var i;
i // undefined
// , , undefined
function f(x) {
return x;
}
f() // undefined
//
var o = new Object();
o.p // undefined
// , undefined
function f() {}
f() // undefined
ブール値
false
に変換する以外は、true
とみなされる.undefined
null
false
0
NaN
""
または''
(空の文字列)[]
)と空のオブジェクト({}
)対応するブール値は、いずれもtrue
値
1 === 1.0 // true
0.1 + 0.2 === 0.3
// false
0.3 / 0.1
// 2.9999999999999996
(0.3 - 0.2) === (0.2 - 0.1)
// false
0
は正数、1
は負数Number.MAX_VALUE // 1.7976931348623157e+308
Number.MIN_VALUE // 5e-324
0o
または0O
の数値、または先頭0、0-7までの8つのアラビア数字のみの数値.0x
または0X
の数値.0b
または0B
の数値.0
と見なされます.唯一の違いは、+0
または-0
が分母として扱われ、返される値は等しくありません.(1 / +0) === (1 / -0) // false
上のコードがこのような結果になったのは,正のゼロを除いて
+Infinity
,負のゼロを除いて-Infinity
であり,両者は等しくないからである.NaN
NaN
はJavaScriptの特殊な値で、「非数値」0
を0
で割るとNaN
も得られる.0 / 0 // NaN
NaN
は独立したデータ型ではなく、特殊な数値typeof NaN // 'number'
NaN
は、それ自体を含む任意の値に等しくありません.NaN === NaN // false
indexOf
メソッドの内部では厳密に等しい演算子が使用されるため、このメソッドはNaN
に対して成立しない.[NaN].indexOf(NaN) // -1
NaN
ブール演算時にfalse
とする.Boolean(NaN) // false
NaN
と任意の数(それ自体を含む)の演算は、NaN
を得る.NaN + 32 // NaN
NaN - 32 // NaN
NaN * 32 // NaN
NaN / 32 // NaN
Infinity
//
Math.pow(2, 1024) // Infinity, ,
//
0 / 0 // NaN
1 / 0 // Infinity, 0 0
Infinity === -Infinity // false,
1 / -0 // -Infinity
-1 / -0 // Infinity
Infinity > 1000 // true,
-Infinity < -1000 // true,
Infinity
は、NaN
と比較して、常にfalse
を返します.Infinity > NaN // false
-Infinity > NaN // false
Infinity < NaN // false
-Infinity < NaN // false
えんざんきそく
5 * Infinity // Infinity
5 - Infinity // -Infinity
Infinity / 5 // Infinity
5 / Infinity // 0
0に
Infinity
を掛け、NaN
を返し、0をInfinity
で割って0
を返し、Infinity
を0で割ってInfinity
を返します.0 * Infinity // NaN
0 / Infinity // 0
Infinity / 0 // Infinity
Infinity
にInfinity
を加算または乗算すると、Infinity
が返されます.Infinity + Infinity // Infinity
Infinity * Infinity // Infinity
Infinity
からInfinity
を減算または除算してNaN
を得た.Infinity - Infinity // NaN
Infinity / Infinity // NaN
Infinity
とnull
で計算すると、null
は0に変わり、0
との計算に等しい.null * Infinity // NaN
null / Infinity // 0
Infinity / null // Infinity
Infinity
とundefined
は、NaN
を返します.undefined + Infinity // NaN
undefined - Infinity // NaN
undefined * Infinity // NaN
undefined / Infinity // NaN
Infinity / undefined // NaN