从制造到创造
软件工程师成长之路
posts - 292,  comments - 96,  trackbacks - 0

JavaScript 的基本语法

JavaScript的标识符

标识符是指JavaScript中定义的符号,例如,变量名、函数名、数组名等。
标识符可以由字母、数字、下划线(_)和美元($)
注意:标识符不能以数字开头

JavaScript大小写敏感

JavaScript程序代码的格式
以分号(;)结束

JavaScript程序的注释
① // 单行注释
② /*  ....  */ 中可以嵌套"//",但是/*  */不能相互嵌套

基本数据类型与常量

整型常量
   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 常量 变量已经有值而且值为空

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>

         输出结果为:undefined abc

                      snap0005.gif


变量

定义一个变量,系统就会为之分配一块内存,程序可以用变量名来表示这块内存中的数据。

JavaScript为弱类型,所以不能指定变量类型,系统会自动指定类型

声明变量要使用Var关键字
例如:var name

声明变量的同时为其赋值
例如:var name=222222222;

对已赋值的变量赋予一个其他类型的数据
var name2 = "222";
name2 = 333;
name2 = name2 + 1; // name2等于334

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

运算符

算术运算符
+ 加法运算符或正值运算符 例如,x+5,+6。
 + 还能实现多个字符串的相连,而且也能将字符串与其它类型的数据类型相连成一个字符串,条件是该表达式中至少有一个字符串,例如:"x"+123的结果为"x123"。
 
% 求模运算符(算术中的求余)a%b结果中的符号取决于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);

               运行结果:

                       snap0006.gif


赋值运算符:
=    将一个值或表达式的结果赋给变量
       例如:x=3
+=    将变量与所赋的值相加后的结果在赋给变量

比较运算符
==    当左边操作数等于右边操作数相等时返回True

逻辑运算符
&&   逻辑与 两边只能是比较运算的结果(布尔型)
||       逻辑或
!       逻辑非

位运算符

&       只有参加运算的两位都为1,运算的结果才为1,否则就为0。
|         只有参加运算的两位都为0,运算的结果才为0,否则就为1。
^        只有参加运算的两位不相同,运算的结果才为1,否则就为0。

>>(右移运算符): 将左边操作数在内存中的二进制数据右移右边操作数指定的位数,左边移空的部分补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             负数在内存中以补码形式保存
11             原码:0000 1000
12             反码:1111 0111
13             补码:1111 1000 (补码为原码取反加1)
14             
15             右移:1111 1100  (得到补码形式的结果)
16             反码:0000 0011 
17                          0000 0001 (减1,相对于加负1)
18             原码:0000 0100 (-4)
19             
20             */

               运行结果:8右移1位得到4,-8右移1位得到-4

                      snap0007.gif       snap0008.gif

<< (左移运算符):右边空位补0
相对于乘2

>>>  将左边操作数在内存中的二进制数据右移右边操作数指定的位数,左边移空的部分补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 

          输出结果为:-40000000 和 40000000

                                snap0010.gif         snap0009.gif

注意:移位操作不能改变操作数的值!

1             var  b = 8;
2             alert(b >> 1);       // 结果为:4
3             alert(b);                // 结果为:8
4             b = b >> 1;           // 将b右移1位后的结果赋给b
5             alert(b);                // 结果为:4

          输出结果:先输出4,然后输出8,最后输出4

            snap0011.gif          snap0012.gif         snap0013.gif
posted on 2006-09-17 13:01 CoderDream 阅读(359) 评论(0)  编辑  收藏 所属分类: JavaScript

只有注册用户登录后才能发表评论。


网站导航:
 

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

常用链接

留言簿(9)

我参与的团队

随笔分类(245)

随笔档案(239)

文章分类(3)

文章档案(3)

收藏夹(576)

友情链接

搜索

  •  

积分与排名

  • 积分 - 456289
  • 排名 - 114

最新评论

阅读排行榜

评论排行榜