JS(第九课)深刻的去理解函数.(一)

简介: JS(第九课)深刻的去理解函数.(一)

进行复习案例一 对上面之前讲过的函数进行复习

// 函数的声明
function one(){
//函数调用成功后再控制台打印出下面的语句
    console.log("我是的第一个函数")
}
//函数的调用
one();
function two(name){
    console.log("我是一个带有名字的参数")
}
two("我是一个带有名字的参数")
function three(){
    console.log("我是一个没有调用的函数")
}
//声明了函数没有去调用不会执行
function five(){
    for(var i=1;i<=5;i++){
       document.write("我是一个遍历的函数"+"<br>")
    }
}
 five()  
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 函数的声明中要调用函数不去调用函数 函数不会输出结果的 
        function one(){
            console.log("我是的第一个函数")
        }
        one();
        function two(name){
            console.log("我是一个带有名字的参数")
        }
        two("我是一个带有名字的参数")
        function three(){
            console.log("我是一个没有调用的函数")
        }
        function five(){
            for(var i=1;i<=5;i++){
               document.write("我是一个遍历的函数"+"<br>")
            }
        }
         five()  
    </script>
</body>
</html>

如果让你想到函数的作用时你能想到那些函数呢!我能想到了函数在下面哦

// f(x)=x

// f(x)=ax^2+bx+c

// f(x)=sinx

// f(x)=cosx

// f(x)=tanx

// f(x)=x^3

// 值声明没有去调用

// function sayhi(){

// console.log("HEllow world")

// }

// sayhi();

// f(x)=2x+3

// f(1)=2*1+3

// f(2)=2*2+3

// f(3)=2*3+3

// f(4)=2*4+3


接下来我们对函数换种方式 下面的函数功能是实现 1到100的求和

 function sum() {
     var sum = 0
     for (var i = 10; i <= 20; i++) {
         console.log(i)
         sum += i
         console.log(sum)
     }
 }
 function sum() {
     var sum = 0
     for (var i = 10; i <= 20; i++) {
         console.log(i)
         sum += i
         console.log(sum)
     }
 }

函数的返回值  return

  function sum1(x, y, z) {
      var aa = x * y * z;
      console.log("用户打印出"+aa)
      return aa;
  }
  function sum2(x, y, z) {
      var bb = x + y + z;
      alert(bb)
      console.log("用户打印出"+bb)
      return bb;
  }
  function hs(a){
      console.log(1+a);
      console.log(a-1)
      return a;
  }
  hs(123)
 function sum(n){
     console.log(n*n*Math.PI.toFixed(2))
 }
 function sumM(n){
     var num=0;
     for(i=1;i<=n;i++){
         num+=i
     }
     return num
 }
 function  symText(n){
     if(n>100000000){
         return (n/100000000).toFixed(2)+'亿'
     }else if(n>10000){
         return (n/10000).toFixed(2)+'万'
     } else{
         return n;
     }
 }

运行结果自己可以看一下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 函数的变量名 -->
    <!-- foo bar baz  -->
    <script>
        function sum() {
            var sum = 0
            for (var i = 10; i <= 20; i++) {
                console.log(i)
                sum += i
                console.log(sum)
            }
        }
        function sum1(x, y, z) {
            var aa = x * y * z;
            console.log("用户打印出"+aa)
            return aa;
        }
        function sum2(x, y, z) {
            var bb = x + y + z;
            alert(bb)
            console.log("用户打印出"+bb)
            return bb;
        }
        function hs(a){
            console.log(1+a);
            console.log(a-1)
            return a;
        }
        hs(123)
        function sum(n){
            console.log(n*n*Math.PI.toFixed(2))
        }
        function sumM(n){
            var num=0;
            for(i=1;i<=n;i++){
                num+=i
            }
            return num
        }
        function  symText(n){
            if(n>100000000){
                return (n/100000000).toFixed(2)+'亿'
            }else if(n>10000){
                return (n/10000).toFixed(2)+'万'
            } else{
                return n;
            }
        }
    </script>
    <input type="submit" value="求和" onclick="sum()">
</body>
</html>

思考下下面的代码执行顺序 自己思考一下?

 function chuko() {
        alert("这是程序的出口")
    }
    function a() {
        chuko();
    }
    function b() {
        a();
    }
    function c() {
        b();
    }
    function d() {
        alert("程序的入口")
        c();
    }
    // 调用的出口
    d()

全局变量和局部的变量在JS中页常看到的 那么如何去区分呢?下面的案例带你去了解

<!-- 全局变量和局部变量 -->
<script>
    var aaa = "我是全局变量";
    function names() {
        var bbb = "这是局部的变量";
        document.write(aaa + "<br>")
        document.write(bbb)
    }
    names();
    document.write(aaa + "<br>")
    // document.write(bbb)
</script>

函数的参数你们是如何理解的呢!接下来这个案例带你了解什么是参数?下面是html结构图

 <input type="button" onclick="asd('小明','56')" value="转入了两个参数" />
 <input type="button" onclick="asd1('小胡','37','男')" value="转入三个参数" />
 <button type="button" onclick="asd2('小兵','20','女','19756743456')">转入四个参数</button>
 <button type="button" onclick="asd3('小王','67','女','18978654567','南昌市')">转入五个参数</button>
 <button type="button" onclick="sex('小红','27','女','18978654567','南昌市','360429200010090878')">转入六个参数</button>
 <button type="button" onclick="asd('成功成名','17')">成功成名</button>
 <button onclick="myFun()">无参数的构造方法</button>

/* 转入两个参数 */

function asd(name, age) {
      alert("姓名:" + name + "年龄:" + age + "岁");
      console.log("姓名:" + name + "年龄:" + age + "岁")
      // document.write("姓名:" + name + "年龄:" + age + "岁");
  }

/* 转入三个参数 */

 function asd1(name, age, sex) {
      alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex);
      console.log("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex)
      // document.write("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex);
  }

/* 转入四个参数 */

  function asd2(name, age, sex, phone) {
      alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone);
      console.log("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone)
      // document.write("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone);
  }

/* 转入五个参数 */

function asd3(name, age, sex, phone, address) {
      alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address);
      console.log("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address)
      // document.write("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address);
  }

/* 转入六个参数 */

  function sex(name, age, sex, phone, address, shengfengzheng) {
      alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address + "身份证号:" + shengfengzheng);
      console.log()
      document.write();
  }

// 转入的第七个参数

 function seven(name, age, sex, phone, address, shengfengzheng, A) {
      alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address + "身份证号:" + shengfengzheng + "属性" + A);
  }

// 转入的第八个参数

 function seven(name, age, sex, phone, address, shengfengzheng, A, B) {
     alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address + "身份证号:" + shengfengzheng + "属性" + A + "动作" + B);
 }

// 转入的第九个参数

   function seven(name, age, sex, phone, address, shengfengzheng, A, B, C, D) {
       alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address + "身份证号:" + shengfengzheng + "属性" + A + "动作" + B + "未知" + C + "睡觉" + D);

 // 转入的第十一个参数

 function seven(name, age, sex, phone, address, shengfengzheng, A, B, C, D,E) {
     alert("姓名:" + name + "年龄:" + age + "岁" + "性别" + sex + "电话" + phone + "地址" + address + "身份证号:" + shengfengzheng + "属性" + A + "动作" + B + "未知" + C + "睡觉" + D+"标号"+E);
 }

参数的总结:myFun() 红色挂号中有几个参数在函数的调用中的函数中的()中要有几个参数值

function myFun(a,b,c,d,e,f,g,h,i,j,k,l...) {}

myFun(a,b,c,d,e,f,g,h,i,j,k,l...) 绿色标记的所有位置都是一对一的关系 不能错位


相关文章
|
15天前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
62 32
|
3月前
|
JavaScript 前端开发 Java
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
本文介绍了JavaScript中常用的函数和方法,包括通用函数、Global对象函数以及数组相关函数。详细列出了每个函数的参数、返回值及使用说明,并提供了示例代码。文章强调了函数的学习应结合源码和实践,适合JavaScript初学者和进阶开发者参考。
56 2
[JS]同事:这次就算了,下班回去赶紧补补内置函数,再犯肯定被主管骂
|
3月前
|
前端开发 JavaScript 开发者
除了 Generator 函数,还有哪些 JavaScript 异步编程解决方案?
【10月更文挑战第30天】开发者可以根据具体的项目情况选择合适的方式来处理异步操作,以实现高效、可读和易于维护的代码。
|
4月前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
4月前
|
存储 JavaScript 前端开发
JS函数提升 变量提升
【10月更文挑战第6天】函数提升和变量提升是 JavaScript 语言的重要特性,但它们也可能带来一些困惑和潜在的问题。通过深入理解和掌握它们的原理和表现,开发者可以更好地编写和维护 JavaScript 代码,避免因不了解这些机制而导致的错误和不一致。同时,不断提高对执行上下文等相关概念的认识,将有助于提升对 JavaScript 语言的整体理解和运用能力。
|
4月前
|
JavaScript 前端开发
js教程——函数
js教程——函数
65 4
|
4月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
45 5
|
4月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
48 2
|
4月前
|
JavaScript 前端开发
Node.js 函数
10月更文挑战第5天
33 3
|
4月前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
91 0

热门文章

最新文章

  • 1
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    23
  • 2
    Node.js 中实现多任务下载的并发控制策略
    32
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    25
  • 4
    【JavaScript】深入理解 let、var 和 const
    48
  • 5
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    44
  • 6
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    53
  • 7
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    55
  • 8
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    71
  • 9
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    55
  • 10
    JavaWeb JavaScript ③ JS的流程控制和函数
    62