函数的声明、调用、返回值、作用域、访问规则和赋值规则

概念

封装一段可以完成特定功能的代码块,调用时可以被重复执行

定义函数(2种方法)

声明式定义函数:

function 函数名(){} 函数名:自己定义,命名规则和规范同变量 () :必须带 {}: 代码块

赋值式定义函数

var 函数名= function(){}

调用函数

语法:函数名(); 注意:函数一旦被调用,{}内部的代码会执行

函数的参数

形参:函数定义时()中的参数叫形参
实参:函数调用的时候()的参数叫实参

函数的返回值 return

1、写在函数语句的最下端
2、return和输出值用空格隔开
return的意义:
1、返回函数的预算结果
2、终止函数的执行(如果同时return几个值,遇到第一个return就会结束)
3、任何函数都有return,如果不写,函数内部最底端,默认有一行return undefined。

return的两层含义:

1、 调用函数
2、把输出函数的内容当成一个值,返回一个值
一般情况,没有return,就直接调用。有return,需要输出调用

作用域

一段代码生效的范围

局部作用域

位置

定义在函数内部,拥有局部作用域,变量只能函数内部访问,函数外部访问不到

全局作用域

位置

在script标签范围内,,函数外部的区域,具有全局作用域,拥有全局作用域的变量可以在任何地方访问到 生命周期:打开一个页面就产生了一个全局作用域,页面关闭,全局作用域就销毁 生命周期:局部作用域在函数调用时产生,函数调用结束销毁

变量的访问规则

先访问当前作用域里有没有定义变量,没有的话向上查找

变量的赋值规则

先访问作用域里有没有定义变量,没有定义过的话,就向上查找。

预解析:

提前解释代码
浏览器内核:渲染引擎(解释html和css)和js引擎(解释性语言,从上向下一行一行解释说明)
1、js引擎在执行js代码的时候,把var 和function提升到当前作用域的最顶端
2、 变量提升的只是声明部分
3、函数提升(提升的声明式 ===》 function fn(){}),提升函数整体
4、 函数提升优先于变量提升

两种函数声明方式的区别

声明式函数:在执行javascript文件中的代码之前进行处理,这意味着在定义函数之前就可以使用语句调用该函数 赋值式声明函数:编译器会把变量func提在作用域的最前,在编译到函数表达式之前,func一直是undefined,在编译函数之后func才有具体的定义。 如果将调用写在函数表达式之前,则会报错func is not a function

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值