日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始

發(fā)布時間:2025/6/15 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.基本數(shù)據(jù)類型

??1.字符串數(shù)據(jù)類型
???? var hello="你好啊";
???? var hello='你好啊';
示例:
<script language="javascript">
<!--
?var hello = "你好啊";???// 使用雙引號定義字符串
?var name = "Peter";???// 使用單引號定義字符串
?alert( hello + name );???// 將兩個字符串合在一起顯示?
-->
</script>
?深入理解字符串--在JavaScript中不區(qū)分字符與字符串,字符也被當作字符串處理。常用轉(zhuǎn)義字符\n \t \r \f \' \" \\
<script language="javascript">
?var str1 = "1,使用回車換行符\n";?// 行尾使用“\n”作回車換行
?var str2 = "2,使用回車符\r";??// 行尾使用“\r”回車符
?var str3 = "3,使用:\t制表符\n";?// 中間使用一個制表符“\t”
?var str4 = "4,使用\"雙引號\"";??// 使用引號“\"”
?var str? = str1 + str2 + str3 + str4;?// 將4個字串符連接為了個串用于顯示
?alert(str);????// 在對話框是顯示連接后的串str
?document.write(str);
</script>?????
2.數(shù)值型數(shù)據(jù)--不像其他編程語言那樣區(qū)分整型、浮點型。
<script language="javascript">

????//?使用16進制數(shù)
?var i = 0Xa1;??// 分別定義兩個數(shù)字變量,并使用0x和0X作十六進制設(shè)置初值
?var j = 0xf2;
?var s = i + j;??// 十六進制變量i與j相加
????// 輸出為十進制
?document.write("<li>十六進制數(shù)0xa1等于十進制數(shù):" + i + "<br>" );
?document.write("<li>十六進制數(shù)0xf2等于十進制數(shù):" + j + "<br>" );
?document.write("<li>十六進制數(shù)0xf2加上0xa1的和為:" + s + "<br>" );

????//?使用8進制數(shù)
?var k = 0123;??// 分別定義兩個數(shù)值變量,分別用八進制值設(shè)置為初值
?var l = 071;
?var m = k + l;??// 兩個變量的值相加
????// 輸出為十進制
?document.write("<li>八進制數(shù)0123等于十進制數(shù):" + k + "<br>" );
?document.write("<li>八進制數(shù)071等于十進制數(shù):" + l + "<br>" );
?document.write("<li>八進制數(shù)0123加上071的和為:" + m + "<br>" );
????//?使用10進制
?var t1 = 0.1;??// 定義十進制小數(shù)數(shù)字的形式
?var t2 = 1.1;
?var t3 = 2e3;??// 使用科學(xué)計數(shù)法表示數(shù)值
?var t4 = 2e-3
?var t5 = 0.1e2;
?var t6 = 0.1e-2;?// 將各變量的值全部輸出
?document.write("<li>十進制帶小數(shù)的形式:" + t1 + "和" + t2 + "<br>" );
?document.write("<li>十進制科學(xué)記數(shù)2e3等于:" + t3 + "<br>" );
?document.write("<li>十進制科學(xué)記數(shù)2e-3等于:" + t4 + "<br>" );
?document.write("<li>十進制科學(xué)記數(shù)0.1e2等于:" + t5 + "<br>" );
?document.write("<li>十進制科學(xué)記數(shù)0.1e-2等于:" + t6 + "<br>" );

</script>
3.布爾型數(shù)據(jù)--布爾型只有真假兩個數(shù)據(jù)類型,真用true,假用false,非0既真,0為假
<script language="javascript">
<!--??
?var b1 = true;?// 定義布爾型變量b1并賦初始為“真”
?if( b1 )?// 判斷b1的真是否為真,真則執(zhí)行“{}”中的語句
?{
??document.write("變量b1的值為\"真\"<br>");
?}
?var b2 = false;
?if( b2 )
?{
??document.write("變量b2的值為\"真\"<br>");
?}
?else
?{
??document.write("變量b2的值為\"假\"<br>");
?}
?var b3 = 0.1;?// 定義數(shù)字類型變量b3并賦予非0值
?if( b3 )?// 此處b3被當作布爾型變量,并判斷真或假
?{
??document.write("變量b3的值為\"真\"<br>");
?}
?var b4 = -1;?// 定義數(shù)字類型變量b4并賦予非0值
?if( b4 )?// 此處b4被當作布爾型變量,并判斷真或假
?{
??document.write("變量b4的值為\"真\"<br>");
?}
?var b5 = 0;?// 定義數(shù)字類型變量并賦予0值
?if( b5 )?// 此處b5被當作布爾型變量,并判斷真或假
?{
??document.write("變量b5的值為\"真\"<br>");
?}
?else
?{
??document.write("變量b5的值為\"假\"<br>");
?}
-->
</script>
二.復(fù)合數(shù)據(jù)類型
1.常用內(nèi)置對象--將數(shù)據(jù)與處理數(shù)據(jù)的方法捆綁在一起形成一個整體,稱為對象。var obj=new Object();obj.toScript();
Object:所有對象的基礎(chǔ)對象
Array:數(shù)組對象,封裝了數(shù)組的操作和屬性
ActiveXObject:活動空間對象
arguments:參數(shù)對象,正在調(diào)用的函數(shù)的參數(shù)
Boolean:布爾對象,提供同布爾類型等價的功能
Date:日期對象,封裝了日期相關(guān)的操作和屬性對象
Error:錯誤對象,保存錯誤信息
Function:函數(shù)對象,用于創(chuàng)建函數(shù)
Global:全局對象,所有的全局函數(shù)和全局常量歸該類對象所有
Math:數(shù)學(xué)對象,提供基本的數(shù)學(xué)函數(shù)和常量
Number:數(shù)字對象,代表數(shù)值數(shù)據(jù)類型和提供數(shù)值常量的對象
String:字符串對象,提供操作的屬性的對象
2.常用日期對象--date=new Date();date=new Date(val);date=new Date(y,m,d[,h[,min[,sec[,ms]]]]);
<script language="javascript">
<!--
?var cur = new Date();??// 創(chuàng)建當前日期對象cur
?var years = cur.getYear();?// 從日期對象cur中取得年數(shù)
?var months = cur.getMonth();?// 取得月數(shù)
?var days = cur.getDate();?// 取得天數(shù)
?var hours = cur.getHours();?// 取得小時數(shù)
?var minutes = cur.getMinutes();?// 取得分鐘數(shù)
?var seconds = cur.getSeconds();?// 取得秒數(shù)
?????// 顯示取得的各個時間值
?alert( "此時時間是:" + years + "年" + (months+1) + "月"
??+ days + "日" + hours + "時" + minutes + "分"
??+ seconds + "秒" );
-->
</script>
getDate()返回對象中本地時間表示的日期
getYear()返回對象中本地時間表示的年值
getMonth()
getDay()
getHours()
getSeconds()
getMinutes()
setDate(dateVal)設(shè)置對象中的日期值
setYear(yearVal)
setMonth(monthVal)
<script language="javascript">
<!--?
?var dateObj = new Date();?// 創(chuàng)建一個日期對象?
?dateObj.setYear( 2007);?// 設(shè)置日期對象的年份?
?dateObj.setDate( 20 );??// 設(shè)置日期對象的日期
?dateObj.setMonth( 4 );??// 設(shè)置日期對象的月份
?????// 顯示日期對象中的時間
?alert( "dateObj中設(shè)定的時間為:" + dateObj.getYear() + "年"
??+ dateObj.getMonth() + "月" + dateObj.getDate() + "日" );
-->
</script>
3.理解全局對象--全局對象是所有全局方法的擁有者,用來統(tǒng)一管理全局方法,全局方法也指全局函數(shù)。不能使用new運算符創(chuàng)建對象實例
isNaN(value)判斷value是否是NaN,返回一個布爾型
parseFloat(string)返回有字符串string轉(zhuǎn)換的到的浮點數(shù)
parseInt(string)返回有字符串string轉(zhuǎn)換得到的整數(shù)
<script language="javascript">
<!--
?var a = NaN;
?var b = "123";
?var c = 123;
?var d = "1.23";
?document.write( "<b>Global對象的isNaN方法</b><br>" );
?var ta =? isNaN( a );?// 使用Global對象的isNaN()方法測試a的值?
?document.write( "<li>a的值是否是NaN:" + ta + "<br>" );
?var tb = isNaN( b );?// 測試b的值
?document.write( "<li>b的值是否是NaN:" + tb + "<br>" );
?var tc = isNaN( c );?// 測試c的值
?document.write( "<li>c的值是否是NaN:" + tc + "<br>" );
?document.write( "<b>Global對象的parseInt方法</b><br>" );
?var ib = parseInt( b );?// 使用Global對象的parseInt方法,將字符串“123”解析為數(shù)值123
?if( ib == c )
?{
??document.write( "<li>b解析為數(shù)值:" + ib + "<br>" );
?}
?document.write( "<b>Global對象的parseFloat方法</b><br>" );??
?var id = parseFloat( d );// 使用Global對象的parseFloat方法將字符串“1.23”解析為數(shù)值1.23
?if( id == 1.23 )
?{
??document.write( "<li>b解析為數(shù)值:" + id + "<br>" );
?}
-->
</script>
4.常用數(shù)學(xué)對象--Math.[{屬性名|方法名}];
PI返回圓周率
abs返回數(shù)字的絕對值
cos返回給定數(shù)的余弦值
sin返回數(shù)的正弦值
min返回給定數(shù)的最小值
max返回給定數(shù)的最大值
sqrt返回給定數(shù)的平方根
Tan返回給定數(shù)的正切值
round返回與給定數(shù)最接近的整數(shù)值
log返回給定數(shù)的自然對數(shù)
pow返回給定數(shù)的制定次冪
<script language="javascript">
<!--?
?var r = 2;?????// 定義變量表示半徑?
?var pi = Math.PI;????// 從Math對象中讀取周期率PI常量??
?var s = pi*r*r;?????// 計算面積
?alert("半徑為2單位的圓面積為:" + s + "單位" );?// 顯示圓的面積
-->
</script>
<script language="javascript">
<!--?
?var r1 = Math.sin( Math.PI/2 ); // 求余弦
?document.write("<li>弧度為pi/2的正弦值為:" + r1 + "<br>" );
?var r2 = 0-r1;
?var r3 = Math.abs( r2 );?// 求絕對值
?document.write("<li>" + r2 + "的絕對值為:" + r3 + "<br>" );
-->
</script>
5.常用字符串對象--String([strVal]);
<script language="javascript">
<!--
?// 詩的內(nèi)容
?var comment = "靜夜思李白床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉(xiāng)。";
?var partial = comment.substring( 0, 3 );?// 取出標題
?partial = partial.bold();???// 標題加粗
?document.write( "<p align=\"center\">" );?// 輸出HTML標簽“<p>”,并設(shè)置居中對齊
?document.write( partial );???// 輸出標題
?partial = comment.slice( 3, 5 );??// 取出作者
?document.write( "<br>" );???// 輸出換行標簽<br>
?document.write( partial );???// 輸出作者
?partial = comment.slice( 5, 17 );??// 取出第一句詩文
?partial = partial.fontcolor("gray");??// 設(shè)置顏色為gray(灰色)
?document.write( "<br>" );???// 輸出換行標簽
?document.write( partial );???// 輸出詩句
?partial = comment.slice( 17, 29 );??// 取出第二句詩文
?partial = partial.fontcolor("gray");??// 設(shè)置顏色為gray(灰色)
?document.write( "<br>" );???// 輸出換行標簽
?document.write( partial );???// 輸出詩句
?document.write( "</p>" );???// 輸出HTML標簽“<p>”的結(jié)束標簽
-->
</script>
6.掌握數(shù)組對象--var a=new Array();var a=new Array(10,20,30,string,40);var a=[10,20,30,string,40];var a=new Array(3);
<script language="javascript">
<!--
?var poets = new Array( "王維",? "杜甫", "李白", "白居易" );?// 創(chuàng)建數(shù)組
?document.write("古代幾個大詩人:<br>");????// 輸出標題
?for( n in poets )??????// 逐個輸出數(shù)組元素
?{
??document.write( "<li>" + poets[n] );???// 輸出詩人的名字
?}
-->
</script>
三.其他數(shù)據(jù)類型
1.使用函數(shù)--function TypeName([arg,…]){this.arg=arg;}
<script language="javascript">
<!--
?function Card( owner, rate )???// 定義一車子對象
?{
??this.Owner = owner;???// 車主
??this.MaxRate = rate;???// 極速
?}
?var myCard = new Card( "Sunsir", "400KMpH" );?// 創(chuàng)建一個車子實例
?document.write( myCard.Owner + "的車子極速為" + myCard.MaxRate );?// 輸出車子的屬性
-->
</script>
2.空值--null
<script language="javascript">
<!--
?var x = 10;?// 定義變量x,并給其賦值10
?var y = null;?// 定義變量y,并賦一個空值,表示“什么都沒有”
?if( x == null )?// 如果x為空值則
?{
??document.write( "x的值為空<br>" );
?}
?if( y == null )?// 如果y為空則
?{
??document.write( "y的值為空<br>" );
?}
-->
</script>
3.不確定的類型--undefined
<script language="javascript">
<!--?
?var v0 = 1;??????// 定義一個值為1的變量?
?var v1 = null;??????// 定義一個變量,并指定值為null?
?var v2;???????// 定義一個變量,但不賦任何值?
?document.write("變量v0的內(nèi)容為:" + v0 + "<br>" );?// 分別輸出v0、v1、和v2的內(nèi)容
?document.write("變量v1的內(nèi)容為:" + v1 + "<br>" );
?document.write("變量v2的內(nèi)容為:" + v2 + "<br>" );?
?if( v1 == v2 )??????// 測試“null”和“undefined”的相等性
?{
??document.write("\"null\"和\"undefined\"相等<br>" );
?}
?else
?{
??document.write("\"null\"和\"undefined\"不相等<br>" );
?}
-->
</script>
四.數(shù)據(jù)類型的轉(zhuǎn)換

1.Javascript類型轉(zhuǎn)換的規(guī)則Javascript的變量是松散類型的,它可以存儲Javascript支持的任何數(shù)據(jù)類型,其變量的類型可以在運行時被動態(tài)改變
2..隱式類型轉(zhuǎn)換

?

  • 在某些情況下,即使我們不提供顯示轉(zhuǎn)換,Javascript也會進行自動類型轉(zhuǎn)換,主要情況有:

  • 1.?用于檢測是否為非數(shù)值的函數(shù):isNaN(mix)--isNaN()函數(shù),經(jīng)測試發(fā)現(xiàn),該函數(shù)會嘗試將參數(shù)值用Number()進行轉(zhuǎn)換,如果結(jié)果為“非數(shù)值”則返回true,否則返回false。?

  • 2.?遞增遞減操作符(包括前置和后置)、一元正負符號操作符--這些操作符適用于任何數(shù)據(jù)類型的值,針對不同類型的值,該操作符遵循以下規(guī)則(經(jīng)過對比發(fā)現(xiàn),其規(guī)則與Number()規(guī)則基本相同):?

    (1)?如果是包含有效數(shù)字字符的字符串,先將其轉(zhuǎn)換為數(shù)字值(轉(zhuǎn)換規(guī)則同Number()),在執(zhí)行加

    減1的操作,字符串變量變?yōu)閿?shù)值變量。??

    (2)?如果是不包含有效數(shù)字字符的字符串,將變量的值設(shè)置為NaN,字符串變量變成數(shù)值變量。

  • (3)?如果是布爾值false,先將其轉(zhuǎn)換為0再執(zhí)行加減1的操作,布爾值變量編程數(shù)值變量。?

  • (4)?如果是布爾值true,先將其轉(zhuǎn)換為1再執(zhí)行加減1的操作,布爾值變量變成數(shù)值變量。?

  • (5)如果是浮點數(shù)值,執(zhí)行加減1的操作。??

  • (6)如果是對象,先調(diào)用對象的valueOf()方法,然后對該返回值應(yīng)用前面的規(guī)則。如果結(jié)果是NaN,
  • 3.加號運算操作符在Javascript也用于字符串連接符,所以加號操作符的規(guī)則分兩種情況:?

    ??如果兩個操作值都是數(shù)值,其規(guī)則為:??

  • ?? (1)?如果一個操作數(shù)為NaN,則結(jié)果為NaN??

  • ?? (2)?如果是Infinity+Infinity,結(jié)果是Infinity??

  • ?? (3)?如果是-Infinity+(-Infinity),結(jié)果是-Infinity??

  • ?? (4)?如果是Infinity+(-Infinity),結(jié)果是NaN??

  • ?? (5)如果是+0+(+0),結(jié)果為+0??

    ?? (6)?如果是(-0)+(-0),結(jié)果為-0??

    ?? (7)?如果是(+0)+(-0),結(jié)果為+0??
  • ??如果有一個操作值為字符串,則:??

    ?? (1)?如果兩個操作值都是字符串,則將它們拼接起來??

    ?? (2)?如果只有一個操作值為字符串,則將另外操作值轉(zhuǎn)換為字符串,然后拼接起來??

    ?? (3)?如果一個操作數(shù)是對象、數(shù)值或者布爾值,則調(diào)用toString()方法取得字符串值,然后再應(yīng)用前面的字符串規(guī)則。對于undefined和null,分別調(diào)用String()顯式轉(zhuǎn)換為字符串。??可以看出,加法運算中,如果有一個操作值為字符串類型,則將另一個操作值轉(zhuǎn)換為字符串,最后連接起來。?

    4.乘除、減號運算符、取模運算符?

    這些操作符針對的是運算,所以他們具有共同性:如果操作值之一不是數(shù)值,則被隱式調(diào)用Number()函數(shù)進行轉(zhuǎn)換。具體每一種運算的詳細規(guī)則請參考ECMAScript中的定義。?

  • 5.?邏輯操作符(!、&&、||)

    1.?邏輯非(!)操作符首先通過Boolean()函數(shù)將它的操作值轉(zhuǎn)換為布爾值,然后求反。
  • 2.邏輯與(&&)操作符,如果一個操作值不是布爾值時,遵循以下規(guī)則進行轉(zhuǎn)換:?
  • (1)?如果第一個操作數(shù)經(jīng)Boolean()轉(zhuǎn)換后為true,則返回第二個操作值,否則返回第一個值(不是

    Boolean()轉(zhuǎn)換后的值)??

    (2)如果有一個操作值為null,返回null??3.?如果有一個操作值為NaN,返回NaN??

    (3)如果有一個操作值為undefined,返回undefined??邏輯或(||)操作符,

  • 3.如果一個操作值不是布爾值,遵循以下規(guī)則:?

    (1)?如果第一個操作值經(jīng)Boolean()轉(zhuǎn)換后為false,則返回第二個操作值,否則返回第一個操作值

    (不是Boolean()轉(zhuǎn)換后的值)??

    (2)對于undefined、null和NaN的處理規(guī)則與邏輯與(&&)相同?

  • ?6.?關(guān)系操作符(<,?>,?<=,?>=)?

    與上述操作符一樣,關(guān)系操作符的操作值也可以是任意類型的,所以使用非數(shù)值類型參與比較時也需要系統(tǒng)進行隱式類型轉(zhuǎn)換:?

    (1)如果兩個操作值都是數(shù)值,則進行數(shù)值比較??

    (2)如果兩個操作值都是字符串,則比較字符串對應(yīng)的字符編碼值??

    (3)如果只有一個操作值是數(shù)值,則將另一個操作值轉(zhuǎn)換為數(shù)值,進行數(shù)值比較??

    (4)?如果一個操作數(shù)是對象,則調(diào)用valueOf()方法(如果對象沒有valueOf()方法則調(diào)用toString()

    方法),得到的結(jié)果按照前面的規(guī)則執(zhí)行比較??

    (5)如果一個操作值是布爾值,則將其轉(zhuǎn)換為數(shù)值,再進行比較??

    注:NaN是非常特殊的值,它不和任何類型的值相等,包括它自己,同時它與任何類型的值比較大小時都返回false。?

    7.?相等操作符(==)相等操作符會對操作值進行隱式轉(zhuǎn)換后進行比較:?

  • <script language="javascript">
    <!--
    ?var age = prompt("請輸入您的年齡:", "0");?// 輸入年齡
    ?if( age <= 0 )?????// 如果輸入的數(shù)字小于等于0則視為非法
    ?{
    ??alert("您輸入的數(shù)據(jù)不合法!");
    ?}
    ?else
    ?{
    ??alert( "你的年齡為" + age + "歲" );
    ?}
    -->
    </script>
  • 3.顯式轉(zhuǎn)換

  • Number(mix)函數(shù),可以將任意類型的參數(shù)mix轉(zhuǎn)換為數(shù)值類型。其規(guī)則為:?

    (1)?如果是布爾值,true和false分別被轉(zhuǎn)換為1和0?

  • (2)如果是數(shù)字值,返回本身。??

  • (3)如果是null,返回0.??

    (4)?如果是undefined,返回NaN。

  • (5)?如果是字符串,遵循以下規(guī)則:?

  • (6)如果字符串中只包含數(shù)字,則將其轉(zhuǎn)換為十進制(忽略前導(dǎo)0)??

  • ?? ?如果字符串中包含有效的浮點格式,將其轉(zhuǎn)換為浮點數(shù)值(忽略前導(dǎo)0)??

  • ??? 如果是空字符串,將其轉(zhuǎn)換為0??

    ??? 如果字符串中包含非以上格式,則將其轉(zhuǎn)換為NaN??

    (7)?如果是對象,則調(diào)用對象的valueOf()方法,然后依據(jù)前面的規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換的結(jié)果是NaN,則調(diào)用對象的toString()方法,再次依照前面的規(guī)則轉(zhuǎn)換返回的字符串值。??

    下表列出了對象的valueOf()的返回值:?

  • 對象??? 返回值?

  • ???????? ?數(shù)組的元素被轉(zhuǎn)換為字符串,這些字符串由逗號分隔,連接在一起。其操作

  • Array ?與?Array.toString?和?Array.join?方法相同。?

  • Boolean?Boolean?值。?

  • Date?存儲的時間是從?1970?年?1?月?1?日午夜開始計的毫秒數(shù)?UTC。?

  • ?Function?函數(shù)本身。?

  • Number?數(shù)字值。?

    Object?對象本身。這是默認情況。?

  • String?字符串值。?

    parseInt(string,?radix)函數(shù),將字符串轉(zhuǎn)換為整數(shù)類型的數(shù)值。它也有一定的規(guī)則:???

    (1)?忽略字符串前面的空格,直至找到第一個非空字符?

  • (2)如果第一個字符不是數(shù)字符號或者負號,返回NaN??

    (3)?如果第一個字符是數(shù)字,則繼續(xù)解析直至字符串解析完畢或者遇到一個非數(shù)字符號為止

  • (4)如果上步解析的結(jié)果以0開頭,則將其當作八進制來解析;如果以0x開頭,則將其當作十六進

    制來解析??

    (5)如果指定radix參數(shù),則以radix為基數(shù)進行解析??

  • parseFloat(string)函數(shù),將字符串轉(zhuǎn)換為浮點數(shù)類型的數(shù)值。?

    它的規(guī)則與parseInt基本相同,但也有點區(qū)別:字符串中第一個小數(shù)點符號是有效的,另外parseFloat會忽略所有前導(dǎo)0,如果字符串包含一個可解析為整數(shù)的數(shù),則返回整數(shù)值而不是浮點數(shù)值。?

    toString(radix)方法。除undefined和null之外的所有類型的值都具有toString()方法,其作用是返回對象的字符串表示。

  • ?對象?操作?

    Array?將?Array?的元素轉(zhuǎn)換為字符串。結(jié)果字符串由逗號分隔,且連接起來。

  • ?Boolean?如果?Boolean?值是?true,則返回?“true”。否則,返回?“false”。?

  • Date?返回日期的文字表示法。?

    Error?返回一個包含相關(guān)錯誤信息的字符串。?

    Function?返回如下格式的字符串,其中?functionname?是被調(diào)用?toString?方法函數(shù)的名稱:??function?functionname(?)?{?[native?code]?}?

    Number?返回數(shù)字的文字表示。?String?返回?String?對象的值。?

    默認?返回?“[object?objectname]”,其中?objectname?是對象類型的名稱。?

    String(mix)函數(shù),將任何類型的值轉(zhuǎn)換為字符串,其規(guī)則為:?

    (1)如果有toString()方法,則調(diào)用該方法(不傳遞radix參數(shù))并返回結(jié)果?

  • (2)?如果是null,返回”null”??

    (3)?如果是undefined,返回”undefined”??

    6、Boolean(mix)函數(shù),將任何類型的值轉(zhuǎn)換為布爾值。?以下值會被轉(zhuǎn)換為false:false、”"、0、NaN、null、undefined,其余任何值都會被轉(zhuǎn)換為true
    <script language="javascript">
    <!--
    ?var priceOfApple = "3元";????// 蘋果的價格
    ?var priceOfBanana = "3.5元";????// 香蕉的價格
    ?priceOfApple = parseInt( priceOfApple );??// 解析蘋果的價格
    ?var priceOfBanana2 = parseInt( priceOfBanana );??// 解析香蕉的價格
    ?if( ( priceOfApple===3 ) && ( priceOfBanana2 === 3 )?// 檢查解析是否成功
    ??? && ( parseFloat( priceOfBanana ) ===3.5 ) )?
    ?{
    ??alert( "蘋果的價格:" + priceOfApple ??// 輸出水果的價格
    ???+ "\n香蕉的價格的整數(shù)部分:" + priceOfBanana2
    ???+ "\n香蕉的價格:" + parseFloat( priceOfBanana ) );
    ?}
    ?else
    ?{
    ??alert( "并沒有得到預(yù)期的轉(zhuǎn)換效果!" );??// 解析失敗時輸出警告信息
    ?}
    -->
    </script>

  • 示例分數(shù)---編寫一個程序,記錄學(xué)生的《高等數(shù)學(xué)》成績,要求集中輸出60-69,70-79,80-89和90-100各個分數(shù)段的學(xué)生名字
    <script language="javascript">
    <!--
    ?var score = new Array( ?"王勇", 50,???// 分數(shù)表
    ????"白露", 60,
    ????"楊楊", 76,
    ????"李明", 83,
    ????"張莉莉", 70,
    ????"楊宗楠", 71,
    ????"徐霞", 66,
    ????"楊玉婷", 93
    ??????? );
    ?var namesOf_0To59 = "";?????// 存儲各分數(shù)段人學(xué)生名字的變量
    ?var namesOf_60To69 = "";
    ?var namesOf_70To79 = "";
    ?var namesOf_80To89 = "";
    ?var namesOf_90To100 = "";
    ?var scoreSum = 0;
    ?document.write( "<b>《高等數(shù)學(xué)》成績統(tǒng)計表</b><br>" );?// 標題
    ?for( index in score )
    ?{
    ??
    ??if( index%2==1 )// 如果當前元素索引為奇數(shù),則該元素為分數(shù),其前一個元素即為該分數(shù)的學(xué)生名字
    ??{
    ???// 判斷當前分數(shù)所在的分數(shù)段并將學(xué)生名字存入相應(yīng)變量
    ???if( (score[index]>=0) && (score[index]<=59) )
    ???{
    ????namesOf_0To59 += score[index-1] + " ";
    ???}
    ???if( (score[index]>=60) && (score[index]<=69) )
    ???{
    ????namesOf_60To69 += score[index-1] + " ";
    ???}
    ???if( (score[index]>=70) && (score[index]<=79) )
    ???{
    ????namesOf_70To79 += score[index-1] + " ";
    ???}
    ???if( (score[index]>=80) && (score[index]<=89) )
    ???{
    ????namesOf_80To89 += score[index-1] + " ";
    ???}
    ???if( (score[index]>=90) && (score[index]<=100) )
    ???{
    ????namesOf_90To100 += score[index-1] + " ";
    ???}
    ???scoreSum += score[index];???// 統(tǒng)計分數(shù)?
    ??}
    ?}
    ?document.write( "<li>00~59分:" + namesOf_0To59 + "<br>" );?// 分別輸出各分數(shù)段的學(xué)生
    ?document.write( "<li>60~69分:" + namesOf_60To69 + "<br>" );
    ?document.write( "<li>70~79分:" + namesOf_70To79 + "<br>" );
    ?document.write( "<li>80~89分:" + namesOf_80To89 + "<br>" );
    ?document.write( "<li>90~100分:" + namesOf_90To100 + "<br>" );
    ?// 數(shù)組元素個數(shù)除以2即為人數(shù),總分除以人數(shù)即得平均分
    ?document.write( "<li>平均分 :" + scoreSum/(score.length/2) + "<br>" );
    -->
    </script>
    示例--處理文本
    <script language="javascript">
    <!--
    ?var comment = "采蓮南塘秋,蓮花過人頭;低頭弄蓮子,蓮子清如水。今晚若有采蓮人,這兒的蓮花也算得“過人頭”了;只不見一些流水的影子,是不行的。這令我到底惦著江南了。"
    ?var newComment = "";
    ?for( n = 0; n<comment.length; n ++ )
    ?{
    ??var curChar = comment.charAt( n );
    ??if( curChar=="蓮" )
    ??{
    ???newComment += (curChar.bold()).fontcolor("red");
    ??}
    ??else
    ??{
    ???newComment += curChar;
    ??}
    ?}
    ?document.write("<li><b>原文:</b><br>" + comment + "<br>" );
    ?document.write("<li><b>標記“蓮”字:</b><br>" + newComment + "<br>" );
    -->
    </script

  • 二。JavaScript數(shù)據(jù)的表示:
  • 整數(shù):由正負號、數(shù)字構(gòu)成,八進制、十進制、十六進制;
  • 浮點數(shù):由正負號、數(shù)字和小數(shù)點構(gòu)成,常規(guī)記數(shù)法、科學(xué)記數(shù)法;
  • 邏輯值:true、false
  • 字符串值:單引號、雙引號
  • 空值:null
  • 未定義值:根本不存在的對象、已定義但沒有賦值的量;
    • 三。JavaScript常量:
  • 布爾常量:true  false
  • 整數(shù)常量:3721  0007  0xaff(0Xaff)
  • 浮點數(shù)常量:3.14  .001  3.721e+3  -3.721E-3
  • 字符串常量:"你的E-mail地址有誤!"
  • 含轉(zhuǎn)義字符的字符串常量:

    轉(zhuǎn)義字符 意義
    \b 退格(Backspace)
    \f 換頁(Form feed)
    \n 換行(New line)
    \r 返回(Carriage return)
    \t 制表符(Tab)
    \' 單引號(')
    \" 雙引號(")
    \\ 反斜線(\)

    document.write("我愛\'JavaScript\'")?

    document.write("文件在c:\\windows\\下")?

    document.write("<pre>未滿十八歲\n不得進入!</pre>")?

    document.write("未滿十八歲<br>不得進入!")?

    document.alert("密碼不對\n請重新輸入!")?

    數(shù)組常量:
    hobby=["聽音樂","看電影"]
    hobby[0]、hobby[1]
    hobby=["聽音樂",,"看電影",]?
    hobby[0]、hobby[1]、hobby[2]、hobby[3]
    • 四。JavaScript變量:
  • 變量命名規(guī)則:?
    • 1.首字符必須是大寫或小寫的字母或下劃線(_)或美元符($);
    • 2.后續(xù)的字符可以是字母、數(shù)字、下劃線或美元符;
    • 3.變量名稱不能是保留字;
    • 4.長度是任意;
    • 5.區(qū)分大小寫;
    • 6.約定:集中置頂;
         使用局部變量;
         易于理解;stdId
         避免混亂。usrname  usrName
      聲明變量:
    • var stdId;
    • var name,sex;
    • var total=3721;
    • var notNull=true;
    • var name="李小龍",sex="先生";
    • var i=j=0;
  • 變量賦值:
    stdId = 2004007;
  • 變量作用域:(方式、位置)
    • 全局變量:省略var,或在函數(shù)外聲明
    • 局部變量:在函數(shù)內(nèi)聲明
    • 全局變量可在整個腳本中被使用,可在不同的窗口中相互引用(指定窗口名)
    • 例:
      <Script>
      var langJS = "JavaScript"; //langJS是全局變量
      test();

      function test() {
      ????var langVBS = "VBScript"; //langVBS是局部變量
      ????document.write("<LI>" + langJS);
      ????document.write("<LI>" + langVBS);?
      }

      document.write("<LI>" + langJS);
      document.write("<LI>" + langVBS);
      </Script>

  • 總結(jié)

    以上是生活随笔為你收集整理的JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。