- JavaScript從入門到精通(第3版)
- 明日科技
- 2876字
- 2020-03-20 10:37:36
6.2 數值處理對象
6.2.1 Math對象
Math對象提供了大量的數學常量和數學函數。在使用Math對象時,不能使用new關鍵字創建對象實例,而應直接使用“對象名.成員”的格式來訪問其屬性或方法。下面將對Math對象的屬性和方法進行介紹。
1.Math對象的屬性
Math對象的屬性是數學中常用的常量,如表6.2所示。
表6.2 Math對象的屬性

例如:
var piValue = Math.PI; //計算圓周率 var rootofTwo = Math.SQRT2; //計算平方根
2.Math對象的方法
Math對象的方法是數學中常用的函數,如表6.3所示。
表6.3 Math對象的方法

例如,計算兩個數值中的較大值,可以通過Math對象的max()函數實現,代碼如下:
var larger = Math.max(value1,value2);
計算一個數的10次方,代碼如下:
var result = Math.pow(value1,10);
使用四舍五入函數計算最相近的整數值,代碼如下:
var result = Math.round(value);
【例6.6】 隨機產生指定位數的驗證碼。(實例位置:資源包\TM\sl\6\06)
(1)編寫隨機產生指定位數的驗證碼函數checkCode(),該函數只有一個參數digit,用于指定產生的驗證碼的位數,返回值為指定位數的驗證碼,代碼如下:

(2)編寫JavaScript自定義函數deal(),調用checkCode()函數將轉換后的字符串顯示在指定位置,代碼如下:

(3)在頁面添加一個<div>標記,將其命名為result,用于顯示產生的驗證碼,代碼如下:
<div id="result"> 產生的驗證碼:</div>
(4)在頁面的合適位置添加“生成”按鈕,在該按鈕的onclick事件中調用deal()函數生成驗證碼。代碼如下:
<input name="Submit" type="button" class="go-wenbenkuang" value="生成" onclick="deal()">
運行結果如圖6.9所示。

圖6.9 隨機生成驗證碼
6.2.2 Number對象
由于JavaScript使用簡單數值完成日常數值的計算,因此,Number對象很少被使用。當需要訪問某些常量值時,如數字的最大或最小可能值、正無窮大或負無窮大時,該對象顯得非常有用。
1.創建Number對象
Number對象是原始數值的包裝對象,使用該對象可以將數字作為對象直接進行訪問。它可以不與new運算符一起使用,而直接作為轉換函數來使用。以這種方式調用Number()時,它會把自己的參數轉化成一個數字,然后返回轉換后的原始數值(或NaN)。
語法格式:
numObj=new Number(value)
參數說明:
numObj:要賦值為Number對象的變量名。
value:可選項,表示新對象的數值。如果忽略value,則返回值為0。
例如,創建一個Number對象,代碼如下:
var numObj1=new Number(); var numObj2=new Number(0); var numObj3=new Number(-1); document.write(numObj1+"<br>"); document.write(numObj2+"<br>"); document.write(numObj3+"<br>");
運行結果:
0 0 -1
2.Number對象的屬性
(1)MAX_VALUE屬性
MAX_VALUE屬性用于返回Number對象的最大可能值。
語法格式:
value=Number.MAX_VALUE
參數說明:
value:存儲Number對象的最大可能值的變量。
例如,獲取Number對象的最大可能值。代碼如下:
var maxvalue=Number.MAX_VALUE; document.write(maxvalue);
運行結果:
1.7976931348623157e+308
(2)MIN_VALUE屬性
MIN_VALUE屬性用于返回Number對象的最小可能值。
語法格式:
value=Number.MIN_VALUE
參數說明:
value:存儲Number對象的最小可能值的變量。
例如,獲取Number對象的最小可能值,代碼如下:
var minvalue=Number.MIN_VALUE; document.write(minvalue);
運行結果:
5e-324
(3)NEGATIVE_INFINITY屬性
NEGATIVE_INFINITY屬性用于返回Number對象負無窮大的值。
語法格式:
value=Number. NEGATIVE_INFINITY
參數說明:
value:存儲Number對象負無窮大的值。
例如,獲取Number對象負無窮大的值,代碼如下:
var negative=Number.NEGATIVE_INFINITY; document.write(negative);
運行結果:
-Infinity
(4)POSITIVE_INFINITY屬性
POSITIVE_INFINITY屬性用于返回Number對象正無窮大的值。
語法格式:
value=Number.POSITIVE_INFINITY
參數說明:
value:存儲Number對象正無窮大的值。
例如,獲取Number對象正無窮大的值,代碼如下:
var positive=Number.POSITIVE_INFINITY; document.write(positive);
運行結果:
Infinity
3.Number對象的方法
(1)toString()方法
toString()方法可以把Number對象轉換成一個字符串,并返回結果。
語法格式:
NumberObject.toString(radix)
參數說明:
radix:可選項。用于指定表示數字的基數,是2~36的整數。若省略該參數,則使用基數為10。但要注意,如果該參數是10以外的其他值,則ECMAScript標準允許實現返回任意值。
返回值:數字的字符串表示。
例如,將數字轉換成字符串。代碼如下:

運行結果:
10 10 1010 12 a
(2)toLocaleString()方法
toLocaleString()方法可以把Number對象轉換為本地格式的字符串。
語法格式:
NumberObject.toLocaleString()
參數說明:
返回值:數字的字符串表示,并根據本地的規范進行格式化(可能影響到小數點或千分位分隔符采用的標點符號)。
例如,將數字轉換成字符串。代碼如下:
var num=new Number(10.66560); document.write(num.toLocaleString()+"<br>");
運行結果:
10.666
(3)toFixed()方法
toFixed()方法將Number對象四舍五入為指定小數位數的數字,然后轉換成字符串。
語法格式:
NumberObject.toFixed(num)
參數說明:
num:必選項。用于指定小數的位數,是0~20的值(包括0和20),有些實現可以支持更大的數值范圍。如果省略該參數,用0代替。
返回值:數字的字符串表示。不采用指數計數法,小數點后有固定的num位數字。如果num參數為空,默認值為0。如果num大于1e+21,則該方法只調用NumberObject.toString(),返回采用指數計數法表示的字符串。
例如,將數字的小數部分以指定位數進行四舍五入后轉換成字符串,代碼如下:
var num=new Number(10.25416); document.write(num.toFixed()+"<br>"); document.write(num.toFixed(0)+"<br>"); document.write(num.toFixed(1)+"<br>"); document.write(num.toFixed(3)+"<br>"); document.write(num.toFixed(7)+"<br>");
運行結果:
10 10 10.3 10.254 10.2541600
(4)toExponential()方法
toExponential()方法利用指數計數法計算Number對象的值,然后將其轉換成字符串。
語法格式:
NumberObject.toExponential(num)
參數說明:
num:必選項。用于指定指數計數法中的小數位數,是0~20的值(包括0和20),個別情況下可以支持更大的數值范圍。如果省略該參數,將使用盡可能多的數字。
返回值:數字的字符串表示。采用指數計數法,即小數點之前有一位數字,小數點之后有num位數字。該數字的小數部分將被舍入,必要時用0補足,以便達到指定的長度。
例如,將數字以指數計數法計算后轉換成字符串,代碼如下:
var num=new Number(2000000.45); document.write(num.toExponential()+"<br>"); document.write(num.toExponential(0)+"<br>"); document.write(num.toExponential(1)+"<br>"); document.write(num.toExponential(3)+"<br>"); document.write(num.toExponential(7)+"<br>");
運行結果:
2.00000045e+6 2e+6 2.0e+6 2.000e+6 2.0000004e+6
(5)toPrecision()方法
toPrecision()方法將Number對象轉換成字符串,并根據不同的情況選擇定點計數法或指數計數法。
語法格式:
NumberObject.toPrecision(num)
參數說明:
num:必選項。用于指定指數計數法中的小數位數,是0~20的值(包括0和20),個別情況下可以支持更大的數值范圍。如果省略該參數,將使用盡可能多的數字。
返回值:數字的字符串表示,包含num個有效數字。如果num足夠大,能夠包括整數部分的所有數字,那么返回的字符串將采用定點計數法;否則將采用指數計數法,即小數點前有一位數字,小數點后有num-1位數字。必要時,該數字會被舍入或用0補足。
例如,根據不同的情況,使用定點計數法或指數計數法將數字轉換成字符串,代碼如下:

運行結果:
1.000e+4 10000.00000
6.2.3 Boolean對象
在JavaScript中經常會使用Boolean值作為條件對結果進行檢測。Boolean值可以從Boolean對象中獲得相關的屬性和方法,也可以通過Boolean對象的相關方法將Boolean值轉換成字符串。
1.創建Boolean對象
Boolean對象是JavaScript的一種基本數據類型,是一個把布爾值打包的布爾對象,可以通過Boolean對象創建新的Boolean值。
語法格式:
boolObj=new Boolean([boolValue])
參數說明:
boolObj:要賦值為Boolean對象的變量名。
boolValue:可選項,表示新對象的初始Boolean值。如果忽略boolValue,或者其值為false、0、null、NaN及空字符串,則該Boolean對象的初始值為false;否則,初始值為true。
說明
Boolean對象是Boolean數據類型的包裝器。每當Boolean數據類型轉換為Boolean對象時,JavaScript都隱式地使用Boolean對象,很少會顯式地調用Boolean對象。
【例6.7】 創建Boolean對象。(實例位置:資源包\TM\sl\6\07)
代碼如下:
BoolObj1=new Boolean(false); BoolObj2=new Boolean(0); BoolObj3=new Boolean(null); BoolObj4=new Boolean(""); BoolObj5=new Boolean(); BoolObj6=new Boolean(1); BoolObj7=new Boolean(true); document.write(BoolObj1+"<br>"); document.write(BoolObj2+"<br>"); document.write(BoolObj3+"<br>"); document.write(BoolObj4+"<br>"); document.write(BoolObj5+"<br>"); document.write(BoolObj6+"<br>"); document.write(BoolObj7+"<br>");
運行結果如圖6.10所示。

圖6.10 創建Boolean對象
2.Boolean對象的屬性
Boolean對象有constructor和prototype兩個屬性,下面分別進行介紹。
(1)constructor屬性
constructor屬性用于對當前對象的函數進行引用。
例如,判斷當前對象是否為布爾對象。代碼如下:
var newBoolean=new Boolean(); if(newBoolean.constructor==Boolean) document.write("布爾型對象");
運行程序,由于對象newBoolean是布爾對象,因此頁面會顯示“布爾型對象”,如圖6.11所示。

圖6.11 判斷是否為Boolean對象
(2)prototype屬性
prototype屬性可以為對象添加屬性和方法。
例如,用自定義屬性,并為其屬性賦值。代碼如下:

運行程序,會在頁面中彈出自定義的屬性值,如圖6.12所示。

圖6.12 彈出自定義屬性值
3.Boolean對象的方法
Boolean對象有toString()和valueOf()兩個方法,下面對其進行介紹。
(1)toString()方法
toString()方法用于將Boolean值轉換成字符串。
語法格式:
BooleanObject.toString()
參數說明:
返回值:BooleanObject的字符串表示。
例如,將Boolean對象的值轉換成字符串,代碼如下:

運行結果:
true
(2)valueOf()方法
valueOf()方法用于返回Boolean對象的原始值。
語法格式:
BooleanObject.valueOf()
參數說明:
返回值:BooleanObject的字符串表示。
例如,獲取Boolean對象的值,代碼如下:
var newBoolean=new Boolean(); newBoolean=true; document.write(newBoolean.valueOf());
運行結果:
true
- iOS面試一戰到底
- Java Web程序設計
- FFmpeg入門詳解:音視頻原理及應用
- Learning Python Design Patterns
- C語言程序設計教程
- 單片機C語言程序設計實訓100例
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- 軟件項目管理實用教程
- Instant Debian:Build a Web Server
- Bootstrap for Rails
- AutoCAD基礎教程
- Python數據可視化之matplotlib實踐
- Laravel 5.x Cookbook
- Hands-On Artificial Intelligence with Unreal Engine
- WordPress 3.7 Complete(Third Edition)