JavaScript第四天

函数

1-1、函数的概念

函数是当被调用时执行的可重复使用的代码块

函数的命名规则

1、有数字,字母,下划线-,美元符号组成
2、不能以数字开头
3、不能是关键字
4、区分大小写
5、驼峰命名法

函数的调用的俩种方式

1function fn(){
    var sum = 0;
    for(var i = 1;i<=100;i++){
        sum +=i
    }
    console.log(sum)
}
fn();
2<body>
   <input type="button" value="点我" onclick="fn()">
</body>

<script>
   function fn(){
        alert("张三,醒醒吧")}
</script>
当点击点我按钮式会弹出“张三醒醒吧”,onclick的意思是点击

函数定义的俩种格式

函数声明

function 函数名(){
     函数体
}
例子:

function fn(){
  var a = Number(prompt("请录入一个数"));
  var b = Number(prompt("请录入一个数"));
  
  if(a>b){
       alert("最大值:+a");
    }else{
       alert("最大值:+b");
    }
}
fn()

函数表达式

var fn = function(){
    函数体
}
例子:
var fn = function(){
   var a = Number(prompt("请录入一个数"));
   var b = Number(prompt("请录入一个数"));
   alert(a+b);
}
fn()

函数参数

形参:自定义函数时,函数括号中定义的变量叫做形参,用来接收实参的。
实参:调用函数的时候,在括号中传入的变量或者值叫做实参,用于传递给形参。
形参就是函数定义时候用的,实参是在函数调用时候用的
例子:
//函数定义时,小括号的参数叫形参
function fn(1,100){
    var sum = 0;
    for (var i = 1; i<=100; i++){
         if(i % 2 ==0){
            sum += i;
         }
    }
    console.log(sum)
}
//调用时的参数叫实参,函数调用时就是把实参传给形参
fn();---->打印结果为2550

为什么要有参数?

虽然上面代码可以重复使用,但是只能计算1-100之间的值
如果计算n-m之间所有数的和,应该怎么办?

带参数的函数声明

语法:
function 函数名(形参1,形参2,形参...){
    函数体
}
带参数的函数调用
函数名(实参1,实参2,实参3);


函数内部是一个封闭的环境,可以通过参数的方式,把外部的值传递给函数内部,函数调用过程就是把实参传递给形参。

例子:

function fn(m,n){
    var sum = 0;
    for (var i = m; i<=n; i++){
       sum += i;
    }
    console.log(sum)
}
fn(1,100);
fn(1,1000);
fn(20,50);

满5个换行的函数

var num = 0;         ----->统计个数的变量
 for(var i = 0; i<=100; i++){
    if(i%2==0){        ------>计算偶数
       document.write(i=" "); ----->每个数之间的空格
       num++;   ---->是偶数就记一次
       if(num%5=0){
       document.write("<br>");----->换行
       }
    }
 }

打印图形

打印五行*****

for(var i = 1;i<=5;i++){  ------>控制行数
    for(var j = 1; j<=5;j++){  ------>控制每行的个数
        document.write("*");
    }
    document.write("<br>");
}
打印结果为:
*****
*****
*****
*****
*****
对于for循环嵌套:外层循环控制行数,内层循环控制每行的个数

打印三角形

for(var j = 1;j<=9; j++){
   for(var i=1; i<=j; i++){
   document.write("<*>");
   }
   document.write("<br>")
}

//j=1---->当j为1时i为1;打印结果为*
//j=2---->当j为2时i为2;打印结果为**
//j=3---->当j为3时i为3;打印结果为***
....
//j=9---->当j为9时i为9;打印结果为*********

函数返回值

返回值用法:


function 函数名(形参1,形参2,形参...){ ---->//声明一个带返回值的函数
    函数体
    return 返回值;
}
 var 变量 = 函数名(实参1,实参2, 实参3)---->//可以通过变量来接受这个返回值

例子:

1function getSum(a,b){
   return a+b;
}
//待返回值的函数,调用时就是一个值
//既然是值,需要将值设给一个变量
var x = getSum(2,7);
console.log(x)

2function getSum(){
   var sum = 0;
   for(var i = 1;i<=100;i++){
      sum+=i;
   }
   reture sum;
}
var y = getSum();
console.log(y);

预解析

变量的作用域

一段代码的作用范围

例子:

function fn(){
   var a = 10;--------->作用域
   console.log(a);----->作用域
}

**预解析过程 **

js解析后执行js代码的时候,分为两个过程:预解析过程和代码执行过程
预解析过程:
把声明部分提升到当前作用域的最前面
然后是代码从上到下的执行过程

变量提升

定义变量的时候,变量的声明(var )会被提升到当前作用域的最上面,变量的赋值不会提升。
例子:

function fun() {
  console.log(num);
  var num = 20;
}
fun();

等价于

function fun() {
  var num;
  console.log(num); //undefined
  num = 20;
}
fun();

arguments length的作用

代表实参的个数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值