javascript学习----基础常识

1.javascript函数直接量声明

//函数直接声明的语法是:
function functionName(){
//...
}

在FF,谷歌,safari,opera中存在一项限制:表达式中具名函数只识别为匿名函数而忽略它的函数名。如:

//使用一对括号来强制表达式运算
(function foo(){
//...
})
//在(SpiderMonkey中)上面声明的函数不是具名的,所以下一行代码导致异常
alert(foo);

2.javascript逻辑运算

运算符“||”与“&&”既不改变运算元的数据类型,也不强制运算结果的数据类型;运算符会将运算元理解为布尔值,以进行布尔运算;运算过程是支持布尔短路

var str="hello";
var obj={};
x1
=str||obj;//x1=hello
x2=str&&obj;//x2=obj

3.javascript赋值运算

赋值运算对于值运算来讲是复制数据,对于引用运算来讲是复制引用地址。

不过对于字符串的赋值来讲是个特例,字符串的赋值是复制的地址即字符串的地址引用。对于字符串的处理有三条限制: 

  • 不能直接修改字符串中的字符;
  • 字符串连接运算必然导致写复制,这将产生新的字符串;
  • 不能改变字符串的长短。例如修改字符串的length是没有意义的。

4.javascript中运算符的优先级 

 1 . [] () 字段访问、数组下标、函数调用以及表达式分组
 2 ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
 3 * / % 乘法、除法、取模
 4 + - + 加法、减法、字符串连接
 5 <>> >>> 移位
 6 < <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof
 7 == != === !== 等于、不等于、严格相等、非严格相等
 8 & 按位与
 9 ^ 按位异或
10 | 按位或
11 && 逻辑与
12 || 逻辑或
13 ?: 条件
14 = oP= 赋值、运算赋值
15 , 多重求值

5.javascript中的语句

声明语句

变量声明语句:

1 var variable1[=v1][,variable2[=v2],...];

标签声明语句:

1 labelname:statements;

函数声明语句:

1 function functionName(){
2 //...
3 }

表达式语句

变量赋值语句:

1 variable=value;

函数调用语句:

1 foo();

属性赋值语句:

1 obj.property=value;

方法调用语句:

1 obj.method();

分支语句

条件分支语句:

1 if(condition){
2 statement1;
3 }[else{
4 statement2;
5 }]

多重分支语句:

1 switch(expression){
2 case label:
3 statementlist
4 case label:
5 statementlist
6 ...
7 default:
8 statementlist
9 };

循环语句

for:

1 for([var] init;test;increment)
2 statements;

for .. in:

1 for([var] variable in <object|array>)
2 statements;

while:

1 while(expression)
2 statements;

do .. while:

1 do
2 statement
3 while(expression);

控制语句

继续执行子句:

1 continue [label];

中断执行子句:

1 break [label];

函数返回子句:

1 return [expression];

异常触发语句:

1 throw exception;

异常捕获与处理

1 try{
2 tryStatements
3 }catch(exception){
4 catchStatements
5 }
6 finally{
7 finallyStatements
8 };

其他语句

空语句

1 ;

with语句

1 with(object)
2 statements;


posted @ 2011-02-12 17:02  郭培  阅读(168)  评论(0编辑  收藏  举报