第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

誰,能給我,解釋,一下,javascript中數(shù)據類型的轉換,視頻鏈接也可以。

誰,能給我,解釋,一下,javascript中數(shù)據類型的轉換,視頻鏈接也可以。

qq_小盛開_0 2016-10-18 23:25:57
查看完整描述

1 回答

已采納
?
慕田峪3555374

TA貢獻137條經驗 獲得超18個贊


JavaScript是一種無類型語言,但同時JavaScript提供了一種靈活的自動類型轉換的處理方式?;疽?guī)則是,如果某個類型的值用于需要其他類型的值的環(huán)境中,JavaScript就自動將這個值轉換成所需要的類型。

  以下列出JavaScript一種特定類型用于一種特定環(huán)境下時所執(zhí)行的轉換。
?    值??     字符串??     數(shù)字??      布爾值?      對象
?  未定義的值  ?"undefined"?    NaN?      ? false?      ?? Error
?    null??     "null"??      0?       ?? false?????????????????????????? ?Error
  ?非空字符串   ?As is?????????????????????字符串的數(shù)????????????????? ?true?????????????????????????? String對象
????? ?????????????????????????????????????????????????????????????? 字值或NaN?
?   空字符串?????????????? As is??????????????????????????? 0?????????????????????????? ?? false?????????????????????????String對象
?     0????????????????????????? "0"????????????????????????? As is????????????????????????? false???????????????????????? Number對象
?   NaN????????????????????"NaN"?????????????????????? ?As is????????????????????????? false???????????????????????? Number對象
?  ? 無窮大??????????????? ??"Infinity"???????????????????? As is?????????????????????????? true?????????????????????????? Number對象
   負無窮大????????????? ?"-Infinity"?????????????????? As is????????????????????????????true????????????????????????? Number對象
? ? 其他所有數(shù)字????? ?數(shù)字的字符串值????????? As is?????????????????????????? true????????????????????????? Number對象
?   ????? true??????????????????? "true"??????????????????????????? 1????????????????????????????? As is????????????????????????Boolean對象
?   ???? false????????????????? ?"false"????????????????????????? 0????????????????????????????? As is??????????????????????? Boolean對象
?  ????? 對象?????????????????toString()??????????????? valueOf()或?????????????????? true????????????????????????? As is
???????????????????????????????????????????????????????????????????????? toString()或??
??????????????????????????????????????????????????????????????????????????? NaN?

  需要注意,對象在處于布爾環(huán)境中,就會被轉換成true。把對象轉換成數(shù)字是通過首先調用該對象的valueOf()方法,大多數(shù)對象繼承了 Object對象的默認valueOf()方法,它只是返回對象自身,由于默認的valueOf()方法不返回原始值,所以接下來JavaScript通 過調用對象的toString()方法,再將生產的字符串轉換成數(shù)字來吧對象轉換成數(shù)字。
  具體說明參見《JavaScript權威指南》第204頁。

  除了自動轉換,JavaScript還提供了一種顯式地將值從一種類型轉換為另一種類型的轉換工具。如Number()、Boolean()、String()和Obejct()都可以作為函數(shù)調用,它們可以將參數(shù)轉換成合適的類型。

  下面介紹一些顯式轉換的技巧:
  要把一個值轉換成字符串,可以把它連接到一個空串上
?    var x_as_string = x+" ";
  要把一個值強制轉換成數(shù)字,就用它減0
?    var x_as_number = x - 0 ;
  要把一個值強制轉換成布爾值,需要連用兩次"!"運算符
?    var x_as_boolean = !!x;

  從數(shù)字到字符串的轉換在JavaScript中是最常執(zhí)行的。我們可以通過以下方法顯式的實現(xiàn):
?    var str = String(number);
?    var str = number + "";
?    var string = number.toString();   //number被轉換成Number對象,再調用Number.toString()方法

  Number.toString()方法可以指定基數(shù)(2和36之間),如果沒有指定,默認基數(shù)為10。
  在ECMAScript v3和JavaScript 1.5中,添加了三種將數(shù)字轉換成字符串的方法,用于顯示具有傳統(tǒng)格式的數(shù)字(如表示貨幣的數(shù)字)。方法toFixed()將把數(shù)字轉換成字符串,并顯示 小數(shù)點后指定的位數(shù)。方法toExponential()用指數(shù)計數(shù)法把數(shù)字轉換成字符串,該字符串中的小數(shù)點前有一位數(shù)字,小數(shù)點后指定位數(shù)的數(shù)字。方 法toPrecision()用指定位數(shù)的有效數(shù)字顯示數(shù)字,如果有效數(shù)字的位數(shù)不足以顯示數(shù)字的整數(shù)部分,它將采用指數(shù)計數(shù)法顯示數(shù)字。這三種方法都回 對結果字符串的數(shù)字進行適當舍入。
    ?var n = 123456.789;
?    n.toFixed(0);??    //"123457"
?    n.toFixed(2);?    ?//"123456.79"
?    n.toExponential(1); ?//"1.2e+5"
    ?n.toExponential(3); ?//"1.235e+5"
?    n.toPrecision(4);?  //"1.235e+5"
?    n.toPrecision(7);?  //"123456.8"

  表示數(shù)字的字符串在數(shù)字環(huán)境中會自動轉換成真正的數(shù)字。我們也可以顯式地進行這一轉換。
?    var num = Number(str);
?    var num = str - 0;
   這種字符串到數(shù)字的轉換方式,只能用于基數(shù)為10的數(shù)字,而且雖然它允許數(shù)字前后有空格,但是卻不允許字符串中的數(shù)字之后出現(xiàn)任何非空格字符。為此 JavaScript提供了更靈活的進行轉換的函數(shù)parseInt()和parseFloat()這兩個函數(shù)將轉換并返回一個字符串開頭的所有數(shù)字,并 忽略其后所有非數(shù)字后綴。對于以0x和0X開頭的字符串,       parseInt()將它解釋為十六進制數(shù)。
?    parseInt("3 abc");??????????????????//3
?    parseFloat("3.15 abc");?????? //3.15
?    parseInt("12.34");?????????????????//12
?    parseInt("0xFF");????????????????? //255
  parseInt()還可以具有第二個參數(shù),制定要被解析的數(shù)的基數(shù)。其合法值在2到36之間。
  如果parseInt()和parseFloat()不能將指定的字符串轉換成數(shù)字,將返回NaN:
?    parseInt("eleven");?    //NaN
?    parseFloat("s12.35");?  //NaN


查看完整回答
反對 回復 2016-10-18
  • 1 回答
  • 0 關注
  • 1031 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號