today JavaScript 笔记和案例

参数传递

参数传递,就是将实参的值传给形参。通过调试我们可以看键,形参在函数

被调用之前是不存在的,当函数被调用的那一刻起,实参被创建,并且传递给

形参

参数传递有两种方式:值传递与引用传递

值传递

在这里插入图片描述

A的值并没有显示预期中的6,还是5,这是因为形参x与实参a是两个不同的

变量,x的变化与a没有任何的关系

引用传递

在这里插入图片描述

a. value没有被显示修改,但是a.value确实加了1,因为x就是a,或者说

x是a的别名 专业一点就叫引用

常规类型的参数采用的是值传递,比如Number,String,Boolean

对象类型采用的是引用传递,Object

案例:验证100以内的数都符合角谷定理(函数方法)

角谷定理:对于一个大于1的整数n,如果n是偶数,则n = n / 2。如果n是奇数,

则n = 3 * n +1。反复操作后,n一定为1。

在这里插入图片描述

5.4 变量作用域

局部变量,就是在函数内部定义的变量,这个变量只能在函数内部使用,在

全局中不能使用,举个例子,三国时期,把曹操,刘备,孙权比喻成三个函数

那么曹操手下的将领是不会听刘备与孙权的命令的,刘备与孙权同理,他们手下

的兵只会听从自己老大的命令

在这里插入图片描述

在函数的内部定义一个变量,如果没有加上var,那么这个变量就会被认为是

全局变量

在这里插入图片描述

全局变量:在函数外部定义的变量,这个变量可以在全局进行使用。

举个例子:汉朝的皇帝发布命令,那么不管是曹操还是刘备或者孙权,都要

                 听皇帝的命令

在这里插入图片描述

冲突处理:就近原则

当函数中定义了一个与全局变量名字相同的变量,此时函数在定义前使用,

那么这个变量还是函数中的变量,(没给值)是underfind,不会使用全局变量

在这里插入图片描述

局部和全局同时定义了一个相同名字的变量时如何在局部变量里面访问全局变量

在局部给变量加一个window的前缀,据可以访问到全局的变量

在这里插入图片描述

案例:验证哥德巴赫猜想(函数方法)

哥德巴赫猜想:任意一个大于6的偶数都可以写成两个质数之和(质数就是素数)。

<script type="text/javascript">
   
   function gedebaheCaix(){
    function isSushu(a){
     var b=0,f;
     if(a==1||a<1){
      b++;
     }
     for(var i=2;i<a;i++){
      if(a%i==0){
       b++;
       break;
      }
     }
     if(b){
      f=0;
     }else{
      f=1;
     }
     return f;
    }
    var falg=false;
    for(var i=8;i<1000;i+=2){
     for(var j=2;j<i;j++){
      var k=i-j;
      var c=isSushu(j);
      var d=isSushu(k);
      if(c&&d){
       falg=true;
       break;
      }else{
       continue;
      }
     }
    }
    return falg;
   }
   var g=gedebaheCaix();
   if(g){
    document.write("成立");
   }else{
    document.write("不成立");
   }
   
  </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值