首頁 web前端 js教程 javascript 類型轉換。

javascript 類型轉換。

Oct 12, 2016 am 11:37 AM

目錄:
1 : 偽物件 
2 : 轉換為字串 
3 : 數字轉字串 
4 : 轉換為數字 
5 : 轉換為Boolean  
6 : Number()與parse 的區別()和toString()的區別 

1 : 偽對象 
偽對象:javascript是一門很有趣的語言,即使是基本型,也是偽對象,所以他們都有屬性和方法。
變數a的類型是字串,透過呼叫其為偽物件的屬性length來取得其長度 。

<script><br/> var a="hello javascript"; <br/> document.write("变量a的类型是:"+(typeof a));<br/> document.write("<br>");<br/> document.write("变量a的长度是:"+a.length);<br/></script>

運行效果:
變量a的類型是:string
變量a的長度是:16 

2 : 轉換為字符串 
無論是Number,Boolean還是String都有一個toString方法,用於轉換為字串 

<script><br/> var a=10; <br/> document.write("数字 "+a+" 转换为字符串"+a.toString());<br/> document.write("<br>");<br/><br/> var b=true; <br/> document.write("布尔 "+b+" 转换为字符串"+b.toString());<br/> document.write("<br>");<br/><br/> var c="hello javascript"; <br/> document.write("字符串 "+c+" 转换为字符串 "+c.toString());<br/> document.write("<br>");<br/><br/></script>

運作效果:
數字10 轉換為字串10
布林true 轉換為字串true
字串hello javascript 轉換為字串hello javascript

3 : 數字轉送字串串的時候有預設模式和基底模式兩種 
<script><br/> var a=10; <br/> document.write(&#39;默认模式下,数字10转换为十进制的&#39;+a.toString()); //默认模式,即十进制<br/> document.write("<br>"); <br/><br/> document.write(&#39;基模式下,数字10转换为二进制的&#39;+a.toString(2)); //基模式,二进制<br/> document.write("<br>"); <br/> <br/> document.write(&#39;基模式下,数字10转换为八进制的&#39;+a.toString(8)); //基模式,八进制<br/> document.write("<br>"); <br/><br/> document.write(&#39;基模式下,数字10转换为十六进制的&#39;+a.toString(16)); //基模式,十六进制<br/> document.write("<br>"); <br/><br/></script>
運作效果:
預設模式下,數字10轉換為十進位的10
基底模式下,數字10轉換為二進位的1010
基模式下,數字10轉換為八進制的12
基模式下,數字10轉換為十六進制的a

4 : 轉換為數字
javascript分別提供內建函數parseInt()和parseFloat(),轉換為數字

注:如果被轉換的字串,同時又數字和字元構成,那麼parseInt會一直定位數字,直到出現非字元。 所以"10abc" 會被轉換為 10

思考題: 字串"10abc8" 又會被轉換為多少呢?

<script><br/> document.write("字符串的\"10\"转换为数字的:"+parseInt("10")); //转换整数<br/> document.write("<br>");<br/> document.write("字符串的\"3.14\"转换为数字的:"+parseFloat("444 3.14"));//转换浮点数<br/> document.write("<br>");<br/> document.write("字符串的\"10abc\"转换为数字的:"+parseInt("10abc")); //判断每一位,直到发现不是数字的那一位<br/> document.write("<br>");<br/><br/> document.write("字符串的\"hello javascript\"转换为数字的:"+parseInt("h5555ello javascript")); //如果完全不包含数字,则返<br/><br/>回NaN - Not a Number<br/> document.write("<br>");<br/><br/></script>
運作效果:
字串的"10"轉換為數字的:10
字串的"3.14"轉換為數字的:444
字串的"10abc"轉換為數字的:10
字串的"hello javascript"轉換為數字的:NaN

5 : 轉換為Boolean  
使用內建函數Boolean() 轉換為Boolean值
當轉換字串時:
非空即為true
當轉換數字時:
當轉換字串即為true
當轉換物件時:
非null即為true

<script><br/> document.write("空字符串&#39;&#39;转换为布尔后的值:"+Boolean("")); //空字符串<br/> document.write("<br>");<br/> document.write("非空字符&#39;hello javascript &#39;串转换为布尔后的值:"+Boolean("hello javascript")); //非空字符串<br/> document.write("<br>");<br/> document.write("数字 0 转换为布尔后的值:"+Boolean(0)); //0<br/> document.write("<br>");<br/> document.write("数字 3.14 转换为布尔后的值:"+Boolean(3.14)); //非0 <br/> document.write("<br>");<br/> document.write("空对象 null 转换为布尔后的值:"+Boolean(null)); //null<br/> document.write("<br>");<br/> document.write("非对象 new Object() 转换为布尔后的值:"+Boolean(new Object())); //对象存在<br/> document.write("<br>");<br/></script>

運作效果:
空字串''轉換為布林後的值:false
非空字元'hello javascript '串轉換為布林後的值:true
數字0 轉換為布林後的值:false
數字3.14 轉換為布林後的值:true
空物件null 轉換為布林後的值:false
非物件new Object() 轉換為布林後的值:true

6 : Number()和parseInt()的區別 
Number()和parseInt()一樣,都可以用來進行數字的轉換
區別在於,當轉換的內容包含非數字的時候,Number( ) 會回傳NaN(Not a Number)
parseInt() 要看情況,如果以數字開頭,就會返回開頭的合法數字部分,如果以非數字開頭,則返回NaN 

<script><br/> document.write("通过Number() 函数转换字符串&#39;123&#39; 后得到的数字:"+Number("123")); //正常的<br/> document.write("<br>");<br/> document.write("通过Number() 函数转换字符串&#39;123abc&#39; 后得到的数字:"+Number("123abc")); //包含非数字<br/> document.write("<br>");<br/> document.write("通过Number() 函数转换字符串&#39;abc123&#39; 后得到的数字:"+Number("abc123")); //包含非数字<br/> document.write("<br>");<br/><br/> document.write("通过parseInt() 函数转换字符串&#39;123&#39; 后得到的数字:"+parseInt("123")); //正常的<br/> document.write("<br>");<br/> document.write("通过parseInt() 函数转换字符串&#39;123abc&#39; 后得到的数字:"+parseInt("123abc")); //包含非数字,返回开头的合法<br/><br/>数字部分<br/> document.write("<br>");<br/> document.write("通过parseInt() 函数转换字符串&#39;abc123&#39; 后得到的数字:"+parseInt("abc123")); //包含非数字,以非数字开头,<br/><br/>返回NaN<br/> document.write("<br>");<br/><br/></script>

通過Number() 函數轉換字串'123' 後得到的數字:NaN
透過Number() 函數轉換字串'abc123' 後得到的數字:NaN
透過parseInt() 函數轉換字串'123' 後得到的數字:123
透過parseInt() 函數轉換字串'123abc' 後得到的數字:123
透過parseInt() 函數轉換字串'abc123'後面得到的數字:NaN

7 : String()和toString()的區別 
String()和toString()一樣都會回傳字串,差別在於對null的處理
String()會回傳字串"null"
toString() 就會報錯,無法執行 

<script><br/> var a = null;<br/> document.write(&#39;String(null) 把空对象转换为字符串:&#39;+String(a)); <br/> document.write("<br>"); <br/> document.write(&#39;null.toString() 就会报错,所以后面的代码不能执行&#39;); <br/> document.write(a.toString()); <br/> document.write("因为第5行报错,所以这一段文字不会显示"); <br/></script>

運作效果:
String(null) 把空物件轉換成字串:null
null.toString() 就會報錯,所以後面的程式碼不能執行

null.toString() 就會報錯,所以後面的程式碼不能執行

Learn from yesterday, live for today, hope for tomorrow.

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

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在JavaScript中替換字符串字符 在JavaScript中替換字符串字符 Mar 11, 2025 am 12:07 AM

在JavaScript中替換字符串字符

jQuery檢查日期是否有效 jQuery檢查日期是否有效 Mar 01, 2025 am 08:51 AM

jQuery檢查日期是否有效

jQuery獲取元素填充/保證金 jQuery獲取元素填充/保證金 Mar 01, 2025 am 08:53 AM

jQuery獲取元素填充/保證金

10個jQuery手風琴選項卡 10個jQuery手風琴選項卡 Mar 01, 2025 am 01:34 AM

10個jQuery手風琴選項卡

10值得檢查jQuery插件 10值得檢查jQuery插件 Mar 01, 2025 am 01:29 AM

10值得檢查jQuery插件

HTTP與節點和HTTP-Console調試 HTTP與節點和HTTP-Console調試 Mar 01, 2025 am 01:37 AM

HTTP與節點和HTTP-Console調試

jQuery添加捲軸到Div jQuery添加捲軸到Div Mar 01, 2025 am 01:30 AM

jQuery添加捲軸到Div

自定義Google搜索API設置教程 自定義Google搜索API設置教程 Mar 04, 2025 am 01:06 AM

自定義Google搜索API設置教程

See all articles