從制造到創(chuàng)造
          軟件工程師成長之路
          posts - 292,  comments - 96,  trackbacks - 0

          JavaScript 的基本語法

          JavaScript的標(biāo)識符

          標(biāo)識符是指JavaScript中定義的符號,例如,變量名、函數(shù)名、數(shù)組名等。
          標(biāo)識符可以由字母、數(shù)字、下劃線(_)和美元($)
          注意:標(biāo)識符不能以數(shù)字開頭

          JavaScript大小寫敏感

          JavaScript程序代碼的格式
          以分號(;)結(jié)束

          JavaScript程序的注釋
          ① // 單行注釋
          ② /*? ....? */ 中可以嵌套"http://",但是/*? */不能相互嵌套

          基本數(shù)據(jù)類型與常量

          整型常量
          ???a、十六進制:以0x或者0X開頭,例如:0x8a、0Xff
          ?? b、八進制:以0開頭,例如:0123
          ???c、十進制:例如:12345

          實型常量(即浮點型):12.32、5E7、4e59

          布爾值:true 和 false

          字符串型常量:"a book of JavaScript"、"abc"、"a"、""。

          字符串中的特殊字符,需要以反斜杠(\)后跟一個普通字符來表示,例如:\r、\n,\b,\',\",\\

          null 常量 變量已經(jīng)有值而且值為空

          undefined 常量:變量不存在或者類型未定義

          ?1?<html>
          ?2?????<head>
          ?3?????????<meta?http-equiv="Content-Type"?content="TEXT/HTML;?Charset=GB2312">
          ?4?????????<title>?未定義類型?</title>
          ?5?????</head>
          ?6?????<body?bgcolor="white">
          ?7?????????<script?language?=?JavaScript>
          ?8?????????????<!--
          ?9?????????????????var?number;
          10?????????????????alert(number?+?"?abc");
          11?????????????//-->
          12?????????</script>
          13?????</body>
          14?</html>

          ?????????輸出結(jié)果為:undefined abc

          ???????????????????? ?snap0005.gif


          變量

          定義一個變量,系統(tǒng)就會為之分配一塊內(nèi)存,程序可以用變量名來表示這塊內(nèi)存中的數(shù)據(jù)。

          JavaScript為弱類型,所以不能指定變量類型,系統(tǒng)會自動指定類型

          聲明變量要使用Var關(guān)鍵字
          例如:var name

          聲明變量的同時為其賦值
          例如:var name=222222222;

          對已賦值的變量賦予一個其他類型的數(shù)據(jù)
          var name2 = "222";
          name2 = 333;
          name2 = name2 + 1;?// name2等于334

          變量可以不先聲明直接使用
          例如:x=1234

          運算符

          算術(shù)運算符
          + 加法運算符或正值運算符 例如,x+5,+6。
          ?+ 還能實現(xiàn)多個字符串的相連,而且也能將字符串與其它類型的數(shù)據(jù)類型相連成一個字符串,條件是該表達(dá)式中至少有一個字符串,例如:"x"+123的結(jié)果為"x123"。
          ?
          %?求模運算符(算術(shù)中的求余)a%b結(jié)果中的符號取決于a 的符號。
          ?

          1?????var?a?=?104;
          2?????var?b?=?a%10;????
          3?????var?c?=?a%(-10);
          4?????
          5?????var?x?=?-104;
          6?????var?y?=?x%10;
          7?????var?z?=?x%(-10);
          8?????
          9?????alert("b?=?"?+?b?+?";?c?=?"?+?c?+?";?y?=?"?+?y?+?";?z?=?"?+?z);

          ?????????????? 運行結(jié)果:

          ????????????????????? ?snap0006.gif


          賦值運算符:
          =????將一個值或表達(dá)式的結(jié)果賦給變量
          ???????例如:x=3
          +=????將變量與所賦的值相加后的結(jié)果在賦給變量

          比較運算符
          ==????當(dāng)左邊操作數(shù)等于右邊操作數(shù)相等時返回True

          邏輯運算符
          &&???邏輯與 兩邊只能是比較運算的結(jié)果(布爾型)
          ||???????邏輯或
          !?????? 邏輯非

          位運算符

          &????? ?只有參加運算的兩位都為1,運算的結(jié)果才為1,否則就為0。
          |???????? 只有參加運算的兩位都為0,運算的結(jié)果才為0,否則就為1。
          ^????????只有參加運算的兩位不相同,運算的結(jié)果才為1,否則就為0。

          >>(右移運算符): 將左邊操作數(shù)在內(nèi)存中的二進制數(shù)據(jù)右移右邊操作數(shù)指定的位數(shù),左邊移空的部分補1
          相對于除2

          ?1?????????????alert(8?>>?1);????????//?將8右移1位
          ?2?????????????
          ?3?????????????/*
          ?4???????????????????????? ?0000?1000(8)
          ?5?????????????? 右移1位????0000?0100(4)
          ?6?????????????*/
          ?7?????????????
          ?8?????????????alert(-8?>>?1);
          ?9?????????????/*
          10?????????????負(fù)數(shù)在內(nèi)存中以補碼形式保存
          11?????????????原碼:0000?1000
          12?????????????反碼:1111?0111
          13?????????????補碼:1111?1000?(補碼為原碼取反加1)
          14?????????????
          15?????????????右移:1111?1100??(得到補碼形式的結(jié)果)
          16?????????????反碼:0000?0011?
          17??????????????????????????0000?0001?(減1,相對于加負(fù)1)
          18?????????????原碼:0000?0100?(-4)
          19?????????????
          20?????????????*/

          ???????????????運行結(jié)果:8右移1位得到4,-8右移1位得到-4

          ????????????????????? snap0007.gif????? ?snap0008.gif

          << (左移運算符):右邊空位補0
          相對于乘2

          >>>? 將左邊操作數(shù)在內(nèi)存中的二進制數(shù)據(jù)右移右邊操作數(shù)指定的位數(shù),左邊移空的部分補0

          ?1?var?a?=?0x80000000?>>?1;
          ?2?alert(a.toString(16));
          ?3?
          ?4?var?b?=?0x80000000?>>>?1;
          ?5?alert(b.toString(16));
          ?6?/*
          ?7??????????? 8:?1000
          ?8?>>????? c:?1100?-40000000??右移1位,左邊補1
          ?9?>>>????4:?0100??40000000??右移1位,左邊補0
          10?????
          11?*/
          12?

          ????????? 輸出結(jié)果為:-40000000 和 40000000

          ????????????????????????????????snap0010.gif???????? snap0009.gif

          注意:移位操作不能改變操作數(shù)的值!

          1?????????????var??b?=?8;
          2?????????????alert(b?>>?1);???????//?結(jié)果為:4
          3?????????????alert(b);??????????????? //?結(jié)果為:8
          4?????????????b?=?b?>>?1;???????????//?將b右移1位后的結(jié)果賦給b
          5?????????????alert(b);??????????????? //?結(jié)果為:4

          ????????? 輸出結(jié)果:先輸出4,然后輸出8,最后輸出4

          ????????????snap0011.gif????????? snap0012.gif???????? snap0013.gif
          posted on 2006-09-17 13:01 CoderDream 閱讀(381) 評論(0)  編輯  收藏 所屬分類: JavaScript

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(9)

          我參與的團隊

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458376
          • 排名 - 114

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 偃师市| 司法| 枣庄市| 青河县| 兴宁市| 泸水县| 张北县| 岱山县| 岳阳县| 务川| 花莲县| 类乌齐县| 波密县| 正宁县| 荃湾区| 定州市| 军事| 区。| 西藏| 旬邑县| 梧州市| 铁岭市| 贵州省| 蚌埠市| 开封县| 南安市| 澎湖县| 嵊州市| 兴安县| 拉孜县| 阜平县| 四川省| 通江县| 河北省| 保德县| 安化县| 萨迦县| 大足县| 伊川县| 岳阳市| 夏邑县|