ES6學習 第六章 數值的擴充套件

2021-09-08 13:05:40 字數 2767 閱讀 5475

/**

* created by z18630 on 2018/12/11 0011.

*///第六章 數值的擴充套件

//二進位制(0b)和八進位制(0o)表示法

console.log(0b110, number('0b110')); //number()把引數轉化為數字,無法轉換返回nan //6 6

console.log(0o23); //19

乙個數值是否為有限的

乙個數值是否為nan

//與傳統的全域性方法isfinite()和isnan()區別在於,傳統方法先呼叫number()轉化為數字,再進行判斷,新方

// 法只對數值有效

console.log(isfinite('25')); //true

console.log(number.isfinite('25')); //false

console.log(isnan('nan')); //true

console.log(number.isnan('nan')); //false

console.log('------------------');

//es6把全域性方法parseint(),parsefloat()移植到了number物件上

console.log(number.parseint('110', 2)); //6

console.log(number.parsefloat('12.3e4')); //只接受乙個引數 //123000

判斷是否為乙個整數

//在js整數個浮點數是同樣的儲存方法,所以3和3.0被視為同乙個值

console.log(number.isinteger(3.0)); //true

乙個極小的常量,為浮點數計算設定誤差範圍

//誤差檢查函式

function checkerror(num1,num2)

console.log(checkerror(0.111 + 0.2, 0.3), number.epsilon);

//false 2.220446049250313e-16

console.log('-----------------');

//安全整數:js表示的範圍在-2的53次方~2的53次方之間,不包含兩個端點

console.log(math.pow(2, 53)); //9007199254740992

console.log(math.pow(2, 53) + 1 === math.pow(2, 53)); //和math.pow(2, 53)值相等

//true

和number.min_safe_integer表示安全整數的上下限

console.log(number.max_safe_integer === math.pow(2, 53) - 1); //true

console.log(number.min_safe_integer === math.pow(-2, 53) + 1); //true

判斷乙個整數是否落在安全範圍內

//判斷運算結果是否在安全範圍,需要同時驗證兩個運算數和運算結果

function issafere(num1, num2, re) else

}console.log(issafere(math.pow(2,53) + 7, 7,

math.pow(2, 53) + 7 - 7)); //false

console.log('------------------');

//math物件的擴充套件

去除乙個數的小數部分

console.log(math.trunc('12.4')); //12

math.trunc = math.trunc || function(x) ;

判斷乙個數是正數(返回1)、負數(返回-1),還是0(返回0或-0)

math.sign = math.sign || function (x)

return x < 0 ? -1 : 1;

};console.log(math.sign(-0)); //-0

計算乙個數的立方根

math.cbrt = math.cbrt || function (x) ;

console.log(math.cbrt(-8)); //-2

console.log('-------------');

返回乙個數的32位無符號整數有多少個前導0

console.log(math.clz32(1 >> 1)); //32

console.log(math.clz32('1')); //31

返回兩個帶符號32位整數相乘結果,當結果溢位(超過2的53次方)時,可以返回正確的低位數值

console.log((0x7fffffff * 0x7fffffff)|0); //0

console.log(math.imul(0x7fffffff, 0x7fffffff)); //1

返回乙個數的單精度浮點形式

console.log(math.fround(1.37));

返回所有引數的平方和的平方根

console.log(math.hypot(3,4)); //5

//指數運算子**

// console.log(2 ** 3);

// let sw = 2;

// sw **= 3;

// console.log(sw);

//integer資料型別

// console.log(typeof 123n);

ES第六章 正則的擴充套件

1 引數字串,引數一位字串,此時第二個引數表示正規表示式的修飾符 flag var regex new regexp xyz i 等價於var regex xyz i 2 正規表示式,引數一為正規表示式,此時會返回原有的正規表示式 var regex new regexp xyz i 等價於 var...

第六章 學習筆記

1.引數分為位置引數和關鍵字引數。def func positional para x,y,z passdef func keyword para kwd1 1,kwd2 4,kwd3 9 pass2.1 當有多個位置引數時,可以用乙個星號來收集引數,函式內使用這些位置引數時可以通過for 迴圈依次...

第六章學習記錄

教材學習內容總結 1 使用關鍵字inte ce來定義乙個介面,介面的定義分為介面宣告和介面體 inte ce printable 2 介面提中包含常量的宣告 沒有變數 和抽象方法 介面體只有抽象的方法,沒有普通的方法,而且介面體中所有的常量的訪問許可權一定都是public,而且是static常量,所...