条件语句(简单点看,记住下面的就行了):
if(条件){
//执行代码块
}
if(条件){
//执行代码块 }
else{
//执行代码块
}
if(条件){
//执行代码块
}
else if(条件){
//执行代码块}
else{
//执行代码块
}
switch(n){
case 1://满足n===1
//执行代码块1
break;
case 2:满足n===2
//执行代码块2
break;
default://都不满足
//执行代码块3
break;
}
循环语句:
while:
var count = 0;
while(count<10){
csonsole.log(count);
count++
}//输出0~9
do/while://先执行,再判断。至少执行一次
function printArrary(a){
var len =a.length,i=0;
if(len == 0)
console.log("empty arrary");
else {
do {
console.log(a[i]);
}while(++i<len);
}
}
for://简单的循环
for(var count=0,count++,count<10){
consloe.log(count);
}//输出0~9
for/in://用于遍历,但一般不建议用
for(变量 in 对象){
//执行代码
}
ECMAScript规范并没有指定for/in循环按照何种顺序来枚举对象属性。但实际上,主流浏览器厂商的JavaScript实现是按照属性定义的先后顺序来枚举简单对象的属性,先定义的属性先枚举。如果使用对象直接量的形式创建对象,则将按照直接量中属性的出现顺序枚举。有一些网站和Javascript库是依赖于这种枚举顺序的,浏览器厂商不大可能会修改这个顺序。
Javascript解释器枚举“简单”对象一种交互的属性枚举顺序。在下列情况下,枚举的顺序取决于具体的实现(并且是非交互的):
对象继承了可枚举属性;
对象具有整数数组索引的属性;
使用delete删除了对象已有的属性;
使用object.definePropery()或者类似的方法改变了对象的属性。
除了所有非继承的“自有”属性以外的继承属性都往往是可枚举的,而且可以按照它们定义的顺序进行枚举。
如果对象属性继承自多个“原型”,也就是说它的原型链上有多个对象,那么链上面的每一个原型对象的属性的遍历也是依照特定顺序执行的。
Javascript的一些实现依照数字顺序来枚举数组属性,而不是某种特定的顺序。但当数组元素的索引是非数字或数组是稀疏数组(数组索引是不连续的)时它们则按照特定顺序枚举。
跳转(js的执行从一个位置跳转到另一个位置):
标签语句:
通过给一个语句加标签,就可以给这个语句起一个名字,这样在程序的任何地方都可以使用这个名字来引用它,可以标记任何语句,
但是被标记的语句通常是那些循环语句,即while、do/while、for和for/in语句,通常给循环命名,就可以使用break语句和continue语句来
退出循环或者循环的某一次迭代。
如:
<script type="text/javascript">
outerloop:
for (var i = 0; i < 10; i++)
{
innerloop:
for (var j = 0; j < 10; j++)
{
if (j > 3)
{
break;
}
if (i == 2)
{
break innerloop;
}
if (i == 4)
{
break outerloop;
}
document.write("i=" + i + " j=" + j + "<br>");
}
}
</script>
break:立即退出最内层循环或switch语句
continue:结束此次循环,转而执行园艺场循环
return:指函数调用后返回的值,执行到return时,函数终止执行,并将值返回给程序,通常return语句只在函数内体现。通常return后加语句,也不是一定的
throw语句:
抛出异常,就是有错误了,就用它把错误抛出来
function factorial(x){
//如果输入参数不符合判断,就抛出异常
if (x<0) throw new Error(“x不能是负值”);
//否则,计算出一个值,并正常返回它
for (var f=1;x>1;f*=x,x--)/*empty*/
return f;
}
try
{
//在此运行代码
}
catch(err)
{
//在此处理错误
}
try{ //正常执行 }
catch(e/你感觉会出错的 错误类型/)
{
// 可能出现的意外 eg:用户自己操作失误 或者 函数少条件 不影响下面的函数执行
// 有时也会用在 比如 focus() 但可恶的ie有可能会第一次没有focus事件 再让他执行一次
// 有时一些不是bug的bug 在ie上 他要求必须加上 catch 哪怕就一个空catch
}
with语句:是用来给对象添加多个属性的,语法如下
with(objInstance)
{
var str = 属性1;
.....
} 去除了多次写对象名的麻烦。
3)举例
<script language="javascript">
<!--
function Lakers() {
this.name = "kobe bryant";
this.age = "28";
this.gender = "boy";
}
var people=new Lakers();
with(people)
{
var str = "姓名: " + name + "<br>";
str += "年龄:" + age + "<br>";
str += "性别:" + gender;
document.write(str);
}
//-->
</script>
代码执行效果如下:
姓名: kobe bryant
年龄:28
性别:boy
在严格模式中禁止使用with,所以尽量别用。