<script type="text/javascript"> var a,b,c,d; a=(b=5,c=2,d=3);//逗号运算符:它只会返回最后边的表达式的值 console.log(a);//3 var a,b,c,d; a=void(b=3,c=2,d=3);//void强调后面的表达式不会返回值给a console.log(a);//undefined var a=[1,2]; console.log(a instanceof Array);//a是数组的一个实例 true console.log(a instanceof Object);//所有的对象都是一个Object实例 </script>
for(变量 in 对象){
执行的语句块;
}
作用:
1.遍历数组中的所有数组元素.
2.遍历javascript对象的所有属性.
<script type="text/javascript"> var arr=new Array(5);//虽然定义了数组的长度为5,但可以往后赋值 arr[0]=1; arr[2]=3; arr[3]="abc"; arr[5]=true; for(var index in arr){ /*console.log(index);//0 2 3 5*/ console.log(arr[index]);//1 3 abc true } for(var properties in navigator){ console.log("属性:"+properties+",属性值:"+navigator[properties]); } </script>
异常抛出语句
<script type="text/javascript"> for(var i=0;i<10;i++){ document.write(i+"</br>"); if(i==5){ throw new Error("报错了");//在控制台看到报错效果 } } </script>
异常捕获语句
<script type="text/javascript"> try{ var age=5; if(age==5){ throw new Error("年龄太小了"); } }catch(e){ document.write("出错:"+e.message); }finally{ document.write("总会执行的finally块"); } </script>
with语句
<script type="text/javascript"> //with语句 with(document){ write("输出第一行数据</br>"); write("输出第二行数据</br>"); write("输出第三行数据</br>"); } </script>
javascript定义函数主要 有以下3种方式:
1.命名函数
function show(name){ console.log(name+"美"); } show("chentt");
2.匿名函数
var show=function(name){ console.log(name+"美"); } show("chentt");
3.使用function类构造匿名函数
格式为:new function(参数列表,函数执行体)
var f=new Function('name','age',"console.log('名字:'+name+',年龄:'+age)"); f("chentt",26);
强调:函数的形参不需要做类型声明,也不要加var,这是javascript属于弱类型语言的一种表现。
经验之谈:大多数优秀的javascript框架都使用第二种"匿名函数"语法来定义函数,它的可读性最好,所以我们必须掌握使用它。
*函数的返回值
javascript中的函数没有声明返回类型,当函数想要返回值的时候直接加上return "值"语句即可,假如不加就代表此函数没有任何返回值。
<script type="text/javascript"> function show(){} var f=show(); console.log(f);//undefined 没有返回值 function show2(){ return "chentt"; } var f2=show2(); console.log(f2);//chentt function show3(){ return function(){ console.log("chentt"); } } var f3=show3(); console.log(f3);// function(){console.log("chentt");} f3();//chentt </script>
*局部变量和全局变量
根据变量的定义范围不同,变量有全局变量和局部变量之分,直接定义的变量是全局变量,在函数中定义的变量称为局部变量,局部变量只能在函数内有效,如果全局变量和局部变量使用相同的变量名,则局部变量将覆盖全局变量。
与局部变量对应的是局部函数,局部函数是在函数中定义的,外部函数可以直接调用其内部的函数,在外部函数外直接调用内部函数是不可以的,所以只有当外部函数被调用时,内部局部函数才会被执行。
<script type="text/javascript"> var name="chentt";//全局变量 function show(){ var age=10; console.log(name+"--"+age); } console.log(name);//chentt console.log(age);//age is not defined function f1(){ var name="chentt"; function f2(){ var age=10; console.log(age); } f2(); } f2();//f2 is not defined f1();//10 </script>