首頁  >  文章  >  Java  >  前端面試題-JavaScript 資料型別轉換 - JavaScript ING

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

不言
不言原創
2018-03-30 10:00:422383瀏覽

這篇文章這次跟大家分享了一些前端面試題的情況,希望可以幫助到有需要的朋友

一、動態類型語言

JavaScript是一種動態類型語言(dynamically typed language)。這表示你宣告變數時可以不必指定資料型別,而資料型別會在腳本執行時根據需要自動轉換。

1.1 定義變數

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

並且,也可以給予同一個變數一個字串值,例如

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

因為JavaScript 是動態類型的,這樣賦值不會提示出錯

1.2 加法運算子(+)

#涉及加法運算子(+)的數字和字串表達式中,JavaScript 會將數字值轉換為字串 。例如

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

但在涉及其它運算子(翻譯:如下面的減號'-')時,JavaScript語言不會把數字變成字串。例如(譯註:第一例是數學運算,第二例是字串運算):

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

二、typeof 運算子

由於JavaScript 中的變數是鬆散型別 的,所以JavaScript提供了一個偵測目前變數的資料型別的運算符,也就是typeof 。

透過使用 typeof() 的方式取得物件的資料類型,包括以下類型:boolean、string、number、undefined、object、function 。

2.1 boolean ------------- 布林值Boolean

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#2.2 string --- -------------- 字串String

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.3 number ---------- ---- 數值Number

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.4 undefined ---------- 未定義Undefined

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.5 object ---------------- 物件或null Object

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.6 function --------------- 函數Function

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#注意

(1)NaN 的資料型別是number

(2)未定義變數的資料型別為undefined

(3) 陣列(Array)的資料型別是object

(4)日期(Date)的資料型別為object

(5)null 的資料型別是object

(6)函數(function)的資料型別是function

三、字串轉換為數字

#3.1 Number() 函數

3.2 parseInt() 函數

3.3 parseFloat() 函數

3.4 單目加法運算子

四、 Number() 函數

4.1 定義與用法

Number() 函數把物件的值轉換為數字。

4.2 語法

Number(object)
##描述object必要。 JavaScript 物件。

4.3 傳回值

(1)如果參數是 Date 對象,Number() 傳回從 1970 年 1 月 1 日至今的毫秒數

(2)如果物件的值無法轉換為數字,那麼 Number() 函數傳回 NaN

4.4 實例

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#五、parseInt() 函數

5.1 定義與用法

# #parseInt() 函數可解析一個字串,並傳回一個整數

    (1)當參數 radix 的值為
  • 0

    ,或沒有設定該參數時,parseInt() 會根據 string 來判斷數字的基數。 (2)當

    忽略參數
  • radix , JavaScript 預設數字的基數如下:
  • 如果string 以"0x " 開頭,parseInt() 會把string 的其餘部分解析為

    十六進位
  • 的整數。
  • 如果string 以0 開頭,那麼ECMAScript v3 允許parseInt() 的一個實作把其後的字元解析為

    八進位或十六進位
  • 的數字。

如果 string 以
1 ~ 9
參數
的數字開頭,parseInt() 將把它解析為十進位的整數。 5.2 文法parseInt(string, radix)描述string
參數
#必要。要被解析的字串。

radix

可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。

5.3 提示與註解(1)只有字串中的第一個數字會被傳回。

(2)

開頭和結尾

的空格是允許的。

(3)如果字串的第一個字元不能轉換為數字前端面試題-JavaScript 資料型別轉換 - JavaScript ING,那麼 parseInt() 會回傳 NaN

(4)在字串以"0"為開始時舊的瀏覽器預設使用八進位基底數。 ECMAScript 5,預設的是十進制的基數。

5.4 實例

#六、parseFloat() 函數6.1 定義與用法

parseFloat() 函數可解析一個字串,並傳回一個

浮點數
此函數指定字串中的首個字元是否為數字。如果是,則對字串進行解析,直到到達數字的末端為止,然後以傳回該數字,而不是作為字串。 6.2 語法parseFloat(string)描述
數字
################################################################################# #########string######必要。要被解析的字串。 ############

6.3 提示與註解

(1)字串中只回傳第一個數字

(2)開頭和結尾的空格是允許的。

(3)如果字串的第一個字元不能轉換為數字,那麼 parseFloat() 會回傳 NaN

6.4 實例

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#七、單一目加法運算子

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

八、數字轉換為字串

未完待續


#一、動態型別語言

JavaScript是一種動態型別語言(dynamically typed language)。這表示你宣告變數時可以不必指定資料型別,而資料型別會在腳本執行時根據需要自動轉換。

1.1 定義變數


前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#並且,也可以給同一個變數一個字符字串值,例如

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

因為JavaScript 是動態類型的,這樣賦值不會提示出錯

1.2 加法運算子(+)

#涉及加法運算子(+)的數字和字串表達式中,JavaScript 會將數字值轉換為字串 。例如

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

但在涉及其它運算子(翻譯:如下面的減號'-')時,JavaScript語言不會把數字變成字串。例如(譯註:第一例是數學運算,第二例是字串運算):

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

二、typeof 運算子

由於JavaScript 中的變數是鬆散型別 的,所以JavaScript提供了一個偵測目前變數的資料型別的運算符,也就是typeof 。

透過使用 typeof() 的方式取得物件的資料類型,包括以下類型:boolean、string、number、undefined、object、function 。

2.1 boolean ------------- 布林值Boolean

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#2.2 string --- -------------- 字串String

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.3 number ---------- ---- 數值Number

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.4 undefined ---------- 未定義Undefined

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.5 object ---------------- 物件或null Object

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

2.6 function --------------- 函數Function

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#注意

(1)NaN 的資料型別是number

(2)未定義變數的資料型別為undefined

(3) 陣列(Array)的資料型別是object

(4)日期(Date)的資料型別為object

(5)null 的資料型別是object

(6)函數(function)的資料型別是function

三、字串轉換為數字

#3.1 Number() 函數

3.2 parseInt() 函數

3.3 parseFloat() 函數

3.4 單目加法運算子

四、 Number() 函數

4.1 定義與用法

Number() 函數把物件的值轉換為數字。

4.2 語法

Number(object)
##描述object必要。 JavaScript 物件。

4.3 傳回值

(1)如果參數是 Date 對象,Number() 傳回從 1970 年 1 月 1 日至今的毫秒數

(2)如果物件的值無法轉換為數字,那麼 Number() 函數傳回 NaN

4.4 實例

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

#五、parseInt() 函數

5.1 定義與用法

# #parseInt() 函數可解析一個字串,並傳回一個整數

    (1)當參數 radix 的值為
  • 0

    ,或沒有設定該參數時,parseInt() 會根據 string 來判斷數字的基數。 (2)當

    忽略參數
  • radix , JavaScript 預設數字的基數如下:
  • 如果string 以"0x " 開頭,parseInt() 會把string 的其餘部分解析為

    十六進位
  • 的整數。
  • 如果string 以0 開頭,那麼ECMAScript v3 允許parseInt() 的一個實作把其後的字元解析為

    八進位或十六進位
  • 的數字。

如果 string 以
1 ~ 9
參數
的數字開頭,parseInt() 將把它解析為十進位的整數。 5.2 文法parseInt(string, radix)描述string
參數
#必要。要被解析的字串。

radix

可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。

5.3 提示與註解(1)只有字串中的第一個數字會被傳回。

(2)

開頭和結尾

的空格是允許的。

(3)如果字串的第一個字元不能轉換為數字前端面試題-JavaScript 資料型別轉換 - JavaScript ING,那麼 parseInt() 會回傳 NaN

(4)在字串以"0"為開始時舊的瀏覽器預設使用八進位基底數。 ECMAScript 5,預設的是十進制的基數。

5.4 實例

#六、parseFloat() 函數6.1 定義與用法

parseFloat() 函數可解析一個字串,並傳回一個

浮點數
此函數指定字串中的首個字元是否為數字。如果是,則對字串進行解析,直到到達數字的末端為止,然後以傳回該數字,而不是作為字串。 6.2 語法parseFloat(string)描述
數字
################################################################################# #########string######必要。要被解析的字串。 ############

6.3 提示和注释

(1)字符串中只返回第一个数字

(2)开头和结尾的空格是允许的。

(3)如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN

6.4 实例

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

七、单目加法运算符

前端面試題-JavaScript 資料型別轉換 - JavaScript ING

八、数字转换为字符串

未完待续


相关推荐:

2018前端面试常见算法题

前端面试题小结





                 


                                              


以上是前端面試題-JavaScript 資料型別轉換 - JavaScript ING的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn