1. 程式人生 > 其它 >貪心演算法 --- 演算法思想介紹

貪心演算法 --- 演算法思想介紹

強制型別轉換

指將一個數據型別強制轉換為其他的資料型別
型別轉換主要指,將其他的資料型別,轉換為
string Number Boolean

將其他的資料型別轉換為String

方式一:
呼叫被轉換資料型別的toString()方法
該方法不會影響到原變數,它會將轉換的結果返回
但是注意:null和undefined這兩個值沒有toString()方法,如果呼叫他們的方法,會報錯。

方式二:
呼叫String()函式,並將被轉換的資料作為引數傳遞給函式
使用String()函式做強制型別轉換時,
對於Number和Boolean實際上就是呼叫的toString()方法
但是對於null和undefined,就不會呼叫toString()方法
它會將null 直接轉換為"null"
將undefined直接轉換為"undefined"

將其他的資料型別轉換為Number

轉換方式一:
使用Number()函式

  • 字串 --> 數字
    1.如果是純數字的字串,則直接將其轉換為數字
    2.如果字串中有非數字的內容,則轉換為NaN
    3.如果字串是一個空串或者是一個全是空格的字串,則轉換為0

  • 布林 --> 數字

    • true 轉成 1
    • false 轉成 0
  • Null -->數字 0

  • undefined --> 數字NaN

轉換方式二:
這種方式專門用來對付字串

parseInt()把一個字串轉換為一個整數,可以將一個字串中的有效的整數內容去出來,然後轉換為Number
parseFloat()把一個字串轉換為一個浮點數;作用和parseInt()類似,不同的是它可以獲得有效的小數

如果對非String使用parseInt()或parseFloat()
它會先將其轉換為String

其它進位制數

在js中,如果需要表示16進位制的數字,則需要以0x開頭
如果需要表示8進位制的數字,則需要以0開頭

像"080"這種字串,有些瀏覽器會當成8進位制解析,有些會當成10進位制解析
可以在parseInt()中傳遞一個第二個引數,來指定數字的進位制
所以開發中儘量避免這種情況

將其他的資料型別轉換為Boolean

使用Boolean()函式

  • 數字--->布林
    • 除了0和NaN,其餘的都是true
  • 字串--->布林
    • 除了空串,其餘的都是true

null和undefined都會轉換為false

物件也會轉換為true