javascript学习1

<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>

 

posted @ 2017-06-26 12:02  左耳_fly  阅读(154)  评论(0编辑  收藏  举报