JavaScript基础2

for 循环里面的break;和continue;语句

for(var i=1;i<=100;i++){

        console.log(i);

        if(i%5==0){

                break;//找到了一个,就立即终止循环

        }

    }

//break只中断了最内层循环,外层循环还在jixu

             for(var i = 1 ; i <= 10 ; i++){

                          for(var j = 1 ; j <= 10 ; j++){

                              console.log(i,j);

                                      if(j == 5){

                                              break;

                                        }

                          }

                }


continue 语句

            for(var i=1;i<=100;i++){

                    if(i=5){

                            continue;//当i为5的时候,立即终止执行后面的console语句,i为6

                    }

                        console.log(i);

            }

                

break 和 continue 的目的,就是优化算法

寻找质数的方法:

                <script type='text/javascript'>    

                weiceng;

                for(var i=2;i<=100;i++){

                    for(var j=2;j<=Math.sqrt(i);j++){

                            if(i%j ==0){

                                    continue waiceng;       

        }                     

}

        console.log(i);

}

</script>

do while语句

        var i=1;

          do{

                console.log(i);

                    i++;

            }while(i<=100)


            while语句

            var n =1;

            while(n<=100){

                 console.log(n);

                    n++;

                }

                while(false){

                           console.log("哈哈");

                }

                for(){

                    }

                do{

                   }while()

                   while(){

                    }




函数

  function haha(){

             console.log(1);

             console.log(2);

             console.log(3);

             console.log(4);

        }

        haha();

function 函数名(){

}


函数的参数

function fun(a){

            console.log("我第“+a+”次说我爱你”);

            fun(88);              

}


函数的返回值


funcion sum(a,b){

        return a+b;

}

console.log(sum(3,8));


function yueshugeshu(a){

            return count;

}

function iszheshu(m){

    if(yushugeshu(m)==2{

            return true;

}else{

            return false;

    }

}

递归

function fid(n){

 if(n==1|| n ==2){

      return 1;

    }else{

           return  fib(n-1)+fi(n-2);

   }

}

for(var i =1;i<=55;i++){

   console.log(fib(i));

}


var haha = function(a,b){

            return a+b;

}

console.log(haha(1,3));

    var haha=function xixi(a,b){

            return a+b;

    }


function haha(){

}

function sum (a,b){

        return a+b;

          alert('哈哈,你永远看不见我,我在return后面“);

}

作用域

一个变量如果定义在了一个function里面,那么这个变量就是一个局部变量,只在这个function里面有定义。出了这个function,就如同没有定义过一样。


函数能封闭住定义域

<script type ="text/javascript">

    function fn(){

            var a=1;

            console.log("我是函数里面的语句,我认识a值为“+a);

    }

    fn();

    console.log("我是函数外面的语句,我不认识a"+a);

</script>


var a=1 全局变量

function fn(){

     console.log();

}

fu();

console.log("函数外面的语句也认识a值为“+a");



● 定义在function里面的变量,叫做局部变量,只在function里面有定义,出了function没有定义的。

● 定义在全局范围内的,没写在任何function里面的,叫做全局变量,都认识。



作用域链

function outer(){

            var a =1;

            function inner(){

                   var b=2;

                   console.log(a);//1

                   console.log(b);//2

     }

}

outer();

console.log(a);//报错 因为a的作用域outer


多层嵌套,如果有同名的变量,那么就会发生“遮蔽效应”:

var a =1;

function fn(){

        var a=5;

        console.log(a);//5

}

fn();

console.log(a);//1


 

作用域链:一个变量在使用的时候得几呢?就会在当前层去寻找它的定义,找不到,找上一层function,直到找到全局变量,如果全局也没有,就报错。



var a =1;

var b=2;

function out(){

        var a =3;

        function  inner(){

                  var b=4;

                   console.log(a);//3

                   console.log(b);//4

}

inner();

console.log(a);//3

console.log(b);//2

}

out();

console.log(a);//1

console.log(b);//2


不写 var就自动成全局变量了

       function fn(){

               a =1;

}

fn();

console.log(a);


函数的参数 ,会默认定义为这个函数的局部变量

功能1:通信,共同操作同一个变量

两个函数同时操作同一个变量,一个增加,一个减少,函数和函数通信。


function fn( a,b,c,d){

}

全局变量的作用

var num =0;

functiong add(){

    num++;

}

function remove(){

        num--;

}


功能2:累加,重复调用函数的时候,不会重置


 var num = 0;

  function baoshu(){

  num++;

  console.log(num);

  }

 

  baoshu(); //1

  baoshu(); //2

baoshu(); //3


function baoshu(){

        var  num =0;

        console.log(num);

}

baoshu();//1

baoshu();//1


函数的定义也有作用域

        function pingfanghe(a,b){

            return  pingfang(a) + pingfang(b);

            function  pingfang(m){

                    return  Math.pow(m,2)

            }

    }

   pingfang(4);//报错因为全局作用域下,没有一个函数教做pingfang的










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值