首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JS函数

JS函数

作者头像
羊羽shine
发布2019-06-12 15:42:33
发布2019-06-12 15:42:33
13.1K0
举报
文章被收录于专栏:Golang开发Golang开发
声明
代码语言:javascript
复制
    function 函数名() {
        // 函数体
    }
调用 :
代码语言:javascript
复制
    函数名
    函数名()

demo

代码语言:javascript
复制
<script >
    function sayHello(){
        console.log("hello js")
    }
    sayHello()
</script>
参数

形式参数 : 在函数声明时, 设置的参数。作用:占位置 ,只能在函数内部使用. 实际参数 : 在函数调用时,传入的参数。 作用 : 函数调用时,会把实参的值赋值给形参, 这样形参就有了值, 在函数体里,,,可以直接使用形参!

代码语言:javascript
复制
//带参数的函数声明
function 函数名(形参1, 形参2, 形参...){
  //函数体
}

//带参数的函数调用
函数名(实参1, 实参2, 实参3);

计算2个数的和

代码语言:javascript
复制
<script >
    function sum(n1,n2){
        console.log(n1 + n2)
    }
    sum(10,3)
</script>
返回值

函数返回值注意事项:

  • return后面的语句不执行。
  • 函数可以没有返回值,函数如果没有return,那么返回结果是undefined。
  • 函数的参数可以有多个,但是返回值只能有1个。
代码语言:javascript
复制
//声明一个带返回值的函数
function 函数名(形参1, 形参2, 形参...){
  //函数体
  return 返回值;
}

//可以通过变量来接收这个返回值
var 变量 = 函数名(实参1, 实参2, 实参3);

计算2个数结果返回

代码语言:javascript
复制
<script >
    function sum(n1,n2){
       return n1 + n2
    }
    var r= sum(10,13)
    console.log(r)
</script>
匿名函数

匿名函数:没有名字的函数 将匿名函数赋值给一个变量,这样就可以通过变量进行调用

代码语言:javascript
复制
    var 函数名 = function(){
      //函数体
    }
代码语言:javascript
复制
<script >
   var sum = function (n1,n2){
       return n1 + n2
    }
    console.log(sum(3,13))
</script>

自执行(匿名函数自执行1次):第一个括号:匿名函数保护起来,第二个小括号:调用

代码语言:javascript
复制
( 匿名函数)()
代码语言:javascript
复制
(function () {
      console.log("自执行函数")
  })();

需要注意匿名函数的分号

代码语言:javascript
复制
<script >
    var a = 10;
    var b = 20;
    b = a;
    (function () {
        console.log(b);
    })();

</script>
作用域

变量起作用的区域 全局作用域:在script标签内,函数外的区域就是全局作用域,在全局作用内声明的变量叫做全局变量 。全局变量可以在任意地方访问。 函数作用域 :在 函数内的区域 叫做函数作用域,在函数作用域内声明的变量叫做局部变量 ,局部变量只有在当前函数内才能访问到。

全局变量:在函数外,script标签内声明的变量就是全局变量,全局变量在任何地方都能访问的到。 局部变量:在函数中声明的变量,就是局部变量,局部变量只有在当前函数体内能够访问。 隐式全局变量:没有使用var定义的变量也是全局变量,叫做隐式全局变量。

预解析

js执行代码分为两个过程:

  • 预解析过程(变量与函数提升)
  • 代码一行一行执行
代码语言:javascript
复制
console.log(num);
var num  = 1
console.log(num)

预解析过程

  1. 把var声明的变量提升到当前作用域最前面,不会提升赋值。
  2. 把函数声明提升到当前作用域的最前面。
  3. 如果函数同名 , 后者会覆盖前者 。
  4. 如果var声明的和函数声明的同名, 函数优先。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 声明
  • 调用 :
  • 参数
  • 返回值
  • 匿名函数
  • 作用域
  • 预解析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档