あなたが知らないJavaScriptのボリューム-【値】
1711 ワード
1、nullの検出
2、関数はオブジェクトだけでなく、属性もあります
3、typeof未定義の変数で、エラーを報告せずにundefinedを返す
4、配列
4.1 delete演算子はセルを配列から削除できますが、削除後、配列のlengthは変化しません.
4.2配列は数字によって索引付けされ、文字列キー値と属性を含んでもよい(ただし、これらは配列長に計算されない).文字列キー値が強制的に10進数に変換できる場合、数字索引として扱われる
4.3クラス配列の処理
5、数字
5.1 toExponential()を指数に変換
5.2 toFixed()は小数部の表示桁数を指定でき、出力結果は所与の数字の文字列形式である
5.3 toPrecision()メソッド有効表示桁数の指定
5.4「機械精度」:誤差範囲値、2^-52
5.5最大浮動小数点数は約1.798 e+308->Numberである.MAX_VALUE最小浮動小数点数5 e-324->Number.MIN_VALUEは負数ではありませんが、無限に0に近いです.
未完待続...
// a null
(!a && typeof a === 'object'); // true
2、関数はオブジェクトだけでなく、属性もあります
let a = function(b, c, d) {};
a.length; // 3
3、typeof未定義の変数で、エラーを報告せずにundefinedを返す
var a;
typeof a; // "undefined"
typeod b; // "undefined"
4、配列
4.1 delete演算子はセルを配列から削除できますが、削除後、配列のlengthは変化しません.
4.2配列は数字によって索引付けされ、文字列キー値と属性を含んでもよい(ただし、これらは配列長に計算されない).文字列キー値が強制的に10進数に変換できる場合、数字索引として扱われる
var s = [];
s["13"] = 1;
s.length; // 14
s["abc"] = 2;
s.length; // 14
4.3クラス配列の処理
//
function foo() {
var arr = Array.prototype.slice.call(arguments);
arr.push('bam');
console.log(arr);
}
foo('bar', 'baz'); // ['baz','baz', 'bam']
//
var arr = Array.from(arguments);
5、数字
5.1 toExponential()を指数に変換
var a = 5E10;
a; // 50000000000;
a.toExponential(); // "5e+10"
5.2 toFixed()は小数部の表示桁数を指定でき、出力結果は所与の数字の文字列形式である
var a = 42.59;
a.toPrecision(3); // "42.590"
5.3 toPrecision()メソッド有効表示桁数の指定
var a = 42.59;
a.toPrecision(2); // "43"
5.4「機械精度」:誤差範囲値、2^-52
// polyfill
if(!Number.EPSILON) {
Number.EPSILON = Math.power(2, -52);
}
function numberToEqual(a1, a2) {
return Math.abs(a1 - a2) < Number.EPSILON;
}
var a = 0.1 + 0.2;
var b = 0.3;
numberToEqual(a, b); // true
5.5最大浮動小数点数は約1.798 e+308->Numberである.MAX_VALUE最小浮動小数点数5 e-324->Number.MIN_VALUEは負数ではありませんが、無限に0に近いです.
未完待続...