1. 程式人生 > >JavaScript型別裝換

JavaScript型別裝換

一、型別轉換的類別

     分為顯示和隱式兩種。

     這篇主要講顯示的型別轉化。

二、顯示型別轉化

      所謂的顯示型別轉化,無非就是使用三個函式去完成型別的轉化:

      Nunber、String、Boolean函式

   1.Nunber函式

      原始型別的轉換

1.數值,要轉化的是Number 123,那麼返回的也是數值123
  var number =Number(123);
2.字串
  var string =Nunber('123');
  var string2 =Nunber('a123');
  var string3 =Nunber('');
分為三種情況,第一種是輸入純數字的字串,則會轉化為相應的數值。
第二種是輸入無法識別為數值的字串,返回NAN。
第三種是輸入空字串,返回0
3.布林值
  var boolean1 = Nunber(true);//1
  var boolean2 = Nunber(false)//2
4.輸入的是undefined,返回NAN
5.輸入的是null,返回0

   物件型別的轉換

   簡單的將是分三種情況:

比如Number({a:1});
1.首先會呼叫物件的valueOf()方法,如果返回的是原始型別,再呼叫Number()轉換。
2.如果valueOf()方法返回的是複合型別的值,會繼續呼叫toString()方法,如果返回原始型別,再呼叫Number()方法。
如果toString()方法返回的還是複合型別的值,就會報錯。

例子中傳入的是一個物件{a:1}
那麼首先使用{a:1}.valueOf() //返回{a:1}物件本身
然後再用{a:1}.toString() //返回字串[object Object],然後對該字串進行Number方法,返回NAN

2.string函式

   對於原始型別

1.Number值,轉換為對應的字串
  var string1 = String(123)  //"123"
2.字串,還是原來的值。
3.布林值
  String(true) //"true"
  String(false) //"false"
4.undefined  //"undefined"
5.null  //"null"

   對於物件型別的轉換

比如String({a:1});
1.首先會呼叫物件的toString()方法,如果返回的是原始型別,再呼叫String()轉換。
2.如果toString()方法返回的是複合型別的值,會繼續呼叫valueOf()方法,如果返回原始型別,再呼叫Stringr()方法。
如果valueOf()方法返回的還是複合型別的值,就會報錯。

比如例子中傳入的是物件{a:1}
先用toString()方法  //返回"[object Object]"字串,是原始型別。
然後會呼叫String("[object Object]")

3.Boolean函式轉換

   Boolean函式轉換隻有兩種情況,一個返回true,一個返回false。

   一下情況返回false,其他的情況一律返回true

1.undefined
2.null
3.-0
4.+0
5.空字串''
6.NAN


相關推薦

JavaScript型別

一、型別轉換的類別     分為顯示和隱式兩種。     這篇主要講顯示的型別轉化。二、顯示型別轉化      所謂的顯示型別轉化,無非就是使用三個函式去完成型別的轉化:      Nunber、String、Boolean函式   1.Nunber函式      原始型別的

java資料型別

java資料型別裝換 java的基本資料型別 java 是這個強型別的語言,包含以下兩個方面的含義:1.所有的變數必須先聲明後使用。2.指定型別的變數只能接受型別與之匹配的值。 基本資料型別 位元組數

C++學習總結(十 五)——類的型別方法

類與類間的資料型別轉換方法有兩種一.通過類的建構函式進行類與類間的資料型別裝換二.使用轉換函式進行資料型別的裝換。X::operator T(){return T;}將X型別的物件裝換為T型別的物件,裝換函式沒有引數,沒有返回型別,但是必須用return 返回T型別物件,且該

黑馬程式設計師--資料型別型別

------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! ------- 一:Java語言中定義了4種整數資料型別

SqlServer中利用日期型別成6位年月

select str(YEAR(CREATE_TIME))+replace(str(MONTH(CREATE_TIME),2),' ','0') from TB_M0004 where str(YEAR(CREATE

強制型別-Boolean

<!DOCTYPE html> <html> &

JAVA的String,Timestamp和Date資料型別之間的

  String  ==>  Date   //String 轉化為Date try { String dateStr = "2018/10/16 16:34:23";

Mysql中時間戳格式和時間型別格式的

首先我有這樣一個時間 將此時間轉換為時間戳格式: SELECT UNIX_TIMESTAMP(pst.ep_order_time) AS ep_order_time FROM prj_status_time pst WHERE pst.project_id='15414878732

Mongodb 學習筆記 (7)通過純mongo語句,將資料庫中的秒級時間戳,轉換成Date型別,並且成任意時間格式

背景:在公司專案中,我們使用了秒級時間戳,作為時間資訊。但是mongodb自支援的多種時間處理函式,只針對date型別的欄位,於是我嘗試使用了mongo語句,將整型數的時間戳,通過mongo語句,轉換成date型別。 這裡使用的是aggregate(聚合),如下: db.t_merchant

js獲取input上傳圖片為base64格式圖片

file .get reader wim fileread script gen fun return <input name="upimage" id="upload_file" type="file"> <img src="/img/touxiang

DataSet為泛型集合

DataSet裝換為泛型集合/// <summary> /// DataSet裝換為泛型集合 /// </summary> /// <typeparam name="MoDeviceAbnormalStateRecord"></typeparam&

xml與java代碼相互的工具類

children ace final port 使用 || 註釋 shee turn 這是一個java操作xml文件的工具類,最大的亮點在於能夠通過工具類直接生成xml同樣層次結構的java代碼,也就是說,只要你定義好了xml的模板,就能一鍵生成java代碼。省下了自己再使

集合和JSON

     //使用json-lib將PageBean物件轉為json,通過輸出流寫回頁面中               //JSONObject---將單一物件轉為json   &n

javascript 型別的判斷

在平常寫js程式碼,型別判斷必不可少,那麼我們常見有哪幾種?看到了標題,先不看你會想到那些方法 ,常用呢些呢?那麼今天我自己總結一些判斷型別的判斷,如有錯,萬望告知! 1:typeof 常用這種方法不錯 console.log(typeof 123 === "number"); //true

集合成陣列遍歷

public class Demo3_Collection { /** * * A:集合的遍歷 * 其實就是依次獲取集合中的每一個元素。 * B:案例演示 * 把集合轉成陣列,可以實現集合的遍歷 * toArray() */ public static v

從字節流到字符流的

sys tails spa 字符集 緩沖流 更多 滿足 span char 引用地址:https://blog.csdn.net/lzh_86/article/details/78107597 System.in的類型可以歸結為節點流、字節流、輸入流;InputStream

從位元組流到字元流的

引用地址:https://blog.csdn.net/lzh_86/article/details/78107597 System.in的型別可以歸結為節點流、位元組流、輸入流;InputStreamReader這個物件是處理流,字元流,輸入流;BufferedReader的型別是緩衝處理流、字元流、輸入流

Shell程式設計:數字為字元,以及字串連線

加雙引號就可以了 var=1 if [ "$var" = "1" ]; then echo "String match!" else echo "Not match!" fi 如果想要在變數後面新增一個字元,可以用一下方法: $value1

OpenCV中Mat和IplImage之間的相互(OpenCV2.0和OpenCV3.0)

Mat是OpenCV和C++介面的矩陣類,IplImage是OpenCV和C語言介面的結構體。 Mat讀取顯示用的是imread、imshow等,IplImage讀取顯示用的是cvLoadImage()、cvShowImage()。 有時候會涉及到兩者之間的轉換,下面詳細見介紹一下兩者之

JavaScript型別檢測方法

1、typeof 運算子識別,適用以下型別 var num = 1; // typeof(num) == 'number' var str = 'hello'; // typeof(str) == '