js函数及作用域是怎样炼成的

147 阅读2分钟

今天的东西属实有点绕,网上看的视频没有讲很细,感觉还是似懂非懂的状态,不懂的只能自己去网上找答案,而且一个人看视频多少有点孤单,很容易就听着听着会想打瞌睡,困了就去洗把脸,晚上继续战斗,NLNL!

函数

 函数分为系统函数和自定义函数

系统函数:Number()/parseInt()/parseFloat()/alert()/prompt()...

 函数:是一个功能体,接收若干个数据,返回处理的结果——为了封装重复执行的代码

自定义函数:1.创建普通函数

function  函数名称(){  函数体 —— 封装的重复执行的代码}

  调用

    函数名称()  //执行函数体中的代码

2.创建带有参数的函数

function  函数名称(参数列表){  //用于接收外部传递的值  函数体}

  调用

    函数名称(参数列表)  //实际传递的值

  创建函数时的参数称为形参,调用函数时的参数称为实参,实参会赋给形参,实参的数量和形参的数量可以不匹配,如果形参未被赋值则为undefined

3.创建带有返回值的函数

function 函数名称(参数列表){  函数体  return 值; //返回值,函数调用后得到的结果}

  调用

    函数名称(参数列表)

  return用于返回函数调用后的结果

  如果函数中没有return或者return后不加值结果是undefined

  一旦return执行,就会结束函数体的执行

对比return和break****return用于函数中,结束函数的调用break用于switch-case语句和循环,结束相应语句的执行

二.变量的作用域

 全局作用域:在函数外部的区域

 函数作用域:在函数内部的区域

 全局变量:在全局作用域下声明的变量,可以在任意的作用域访问到

 局部变量:在函数作用域下声明的变量,只能在当前的作用域访问到

 在函数中,不加var声明的变量是全局变量

 程序执行前,会将var声明的变量提升到所在作用域的最前边,只是提升声明,赋值不提升