js中的函数

函数的基本概念

函数也是js中的一种复杂类型
函数可以封装一段重复的代码, 只需要声明一次, 可以重复的调用。
声明与调用:
function 函数名() { 函数体 }
函数名();
函数的参数
形参:在函数声明的时候,定义的参数,作用:占位置,没有具体的值
实参:在函数调用的时候传递的参数,作用:把实参的值赋值给形参。
函数的返回值
如果希望函数内部能够返回一些值被外部使用。需要使用return把结果返回出来。
函数三要素
函数名
参数
返回值

全局变量和局部变量

作用域:变量起作用的区域
全局作用域:在script标签内,并且在函数外的区域,在全局作用域中定义的变量是全局变量,全局变量可以在任意地方使用。
局部作用域:在js中,只有函数可以形成作用域,一个函数就能形成一个局部作用域
在函数内部定义的变量,只能在当前函数内使用。局部变量。
全局变量: 在全局作用域或者局部作用域中都可以访问
局部作用: 只有在当前函数内可以访问

预解析

浏览器在执行js代码之前,预先把所有的变量声明和函数声明提前

  1. 找到所有函数声明,提前, 不会提升函数调用 如果函数同名,下面的函数会覆盖上面的。
  2. 找到所有的变量声明 var,提前, 不会提升赋值。 如果遇到了多个同名的变量,忽略
	fn2();
    function fn2() {
      console.log(a);
      var b = 9;
      console.log(b);
    }
    var a = 18;
隐式全局变量

变量可以不声明,可以直接赋值,没有声明的变量,叫做隐式全局变量(杜绝) 浏览器不认识这个变量,又给这个变量赋值了,才是隐式全局变量。

	fn3();
    console.log(c);
    console.log(b);
    console.log(a);
    function fn3() {
      var a = b = c = 9;
      // c = 9;
      // b = 9;
      // var a = 9;
      console.log(a);
      console.log(b);
      console.log(c);
    }
声明函数的两种方式

函数声明:

	// 函数的声明的语法
    // 可以先调用,后声明
    function fn() {
      console.log('哈哈哈');
    }
    fn();

函数表达式:

	// 函数表达式
    // 必须先声明,才能调用
    var fn = function() {
      console.log('嘻嘻嘻');
    }
    fn();
匿名函数

匿名函数:没有名字的函数

  1. 把匿名函数赋值给一个变量,通过变量来调用 函数表达式
	var fn = function () {
      console.log('呵呵');
    }
    fn();

自执行函数:把函数声明和调用写到一起,自执行函数
匿名函数自执行:

	(function() {
      console.log('hehe');
    })();

匿名函数自调用:也叫沙盒 沙箱
作用:防止全局变量污染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值