函数: 把一些重复的代码封装在一个地方,在需要的时候直接调用这个地方的代码就可以了

函数作用: 代码重用

函数的参数:

  1. 形参:函数定义的时候,函数名字后面的小括号里的变量
  2. 实参:函数调用的时候,函数名字后面的小括号里的变量或者值
 

返回值:

  • 函数中有return,函数有返回值
  • 函数中没有return,函数没有返回值
 
没有明确返回值:函数中没有return或者return后面没有任何内容
如果一个函数没有明确的返回值,接收这个函数,结果是undefined
 
  • 无参数无返回值的函数
  • 无参数有返回值的函数
  • 有参数无返回值的函数
  • 有参数有返回值的函数
 
  • arguments----->可以获取函数调用的时候,传入的实参的个数
  • arguments是一个对象,是一个伪数组
  • arguments.length--->是实参的个数
  • arguments[索引]---->实参的值
 

作用域:变量的使用范围

  • 全局作用域:全局变量在任何位置都可以使用的范围
  • 局部作用域:局部变量只能在某个地方使用---函数内
  • 作用域链: 在一个函数中使用一个变量,先在该函数中搜索这个变量,找到了则使用,找不到则继续向外面找这个变量,找到则使用,一直找到全局作用域,找不到则是undefined
  • 全局变量: 只要是在函数外面声明的变量都可以看成或者是理解成是全局变量
  • 局部变量: 在函数中定义的变量
 

预解析:在执行代码之前做的事情

  • 变量的声明和函数的声明被提前了,变量和函数的声明会提升到当前所在的作用域的最上面
  • 函数中的变量声明, 会提升到该函数的作用域的最上面(里面)
  • 如果有多对的script标签都有相同名字的函数,预解析的时候是分段的,互不影响

JS基础研语法---函数基础总结---定义、作用、参数、返回值、arguments伪数组、作用域、预解析的更多相关文章

  1. python-函数1(定义-作用-优势-返回值)

    python-函数1(定义-作用-优势-返回值) 1.面向对象的定义是靠-类>>class2.面向过程的定义是靠-过程 >>def3.函数式编程的定义是靠-函数>> ...

  2. JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)

    练习1:求2个数中的最大值 function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } console.log(getMa ...

  3. JavaScript (四) js的基本语法 - - 函数练习、arguments、函数定义、作用域、预解析

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.函数练习 1.求最值 // - 求2个数中的最大值 function getMax(num1, nu ...

  4. 函数(定义、参数、return、变量、作用域、预解析)

    一.函数定义 1.方式一       function 函数名(参数){  函数体  }——————函数声明的方法 function fn(a){ console.log(a); }: 2.方式二  ...

  5. 函数指针的返回值是指针数组,数组里放的是int;函数指针的返回值是指针数组,数组里放的是int指针

    函数指针的返回值是指针数组,数组里放的是int 函数指针的返回值是指针数组,数组里放的是int指针 #include <stdio.h> #include <stdlib.h> ...

  6. JS基础语法---函数的其他定义方式

    函数的其他定义方式 函数声明 函数表达式:把一个函数给一个变量,此时形成了函数表达式 函数调用 函数的自调用   命名函数:函数如果有名字,就是命名函数 匿名函数:函数如果没有名字,就是匿名函数   ...

  7. JS基础语法---函数---介绍、定义、函数参数、返回值

    函数: 把一坨重复的代码封装,在需要的时候直接调用即可 函数的作用: 代码的重用 函数需要先定义,然后才能使用 函数名字:要遵循驼峰命名法 函数一旦重名,后面的会把前面的函数覆盖 Ctrl +鼠标左键 ...

  8. python函数基础-参数-返回值-注释-01

    什么是函数 函数就是有特定功能的工具 # python中有内置函数(python解释器预先封装好的)与自定义函数(用户自定义封装的)之分 为什么要用函数 # 可以减少代码冗余,增加代码复用性 # 使代 ...

  9. python基础入门之函数基础

    **python函数**一.def语名 def语名在运行的时候创建一个新的函数对象并且赋值一个变量名 一个def语句可以出现在任一语句可以出现的地方(python中所有的语名都是实时运行的,没有编译这 ...

随机推荐

  1. localStorage和sessionStorage的共同点和区别

    共同点: 1.localStorage和sessionStorage都是用来存储客户端临时信息的对象. 2.他们均只能存储字符串类型的对象. 3.不同浏览器无法共享localStorage或sessi ...

  2. gradle环境搭建

    最近我在尝试了解跨平台技术的发展,首先则是想到了cordova.环境配置过程中有依赖gradle,下面简单记录了在windos10系统下搭建gradle环境的过程. 什么是gradle Gradle是 ...

  3. Checkedlistbox只能单选不能多选

    private void Checkedlistbox_ItemCheck(object sender, ItemCheckEventArgs e) { ; i < chkCountry.Ite ...

  4. CEF编译 执行gn args out\Release_GN_x86异常

    gn args out\Debug_GN_x86 用来配置编译参数,执行gn args out\Release_GN_x86时异常: Toolchain is out of date. Run &qu ...

  5. console 有没有小伙伴跟我一样想知道这个对象呢

    晚上看了会代码,没什么简单又好分享的 -0- 突然想到console这个对象,就把它打印了出来看看吧 ; for(var key in console){ i++; ){ document.write ...

  6. iOS-----------安装fir-cli错误

    1.在终端执行  gem install fir-cli 一直提示错误:    You don't have write permissions for the /Library/Ruby/Gems/ ...

  7. PHP $_SERVER超全局变量详解

    参考资料:https://www.php.net/manual/zh/reserved.variables.server.php $_SERVER 是一个包含了诸如头信息(header).路径(pat ...

  8. springboot配置文件(一)

    一.YAML语法 1.基本语法 k 空格 v 表示一对键值对(必须有空格),以空格的缩进来控制层级关系,只要是左对齐的一列数据,都表示同一个层级.属性和值大小写敏感 server: port: 808 ...

  9. Tornado—添加请求头允许跨域请求访问

    跨域请求访问 如果是前后端分离,那就肯定会遇到cros跨域请求难题,可以设置一个BaseHandler,然后继承即可. class BaseHandler(tornado.web.RequestHan ...

  10. FTP 代码含义

    vsftpd.config 部分参数含义anonymous_enable=NO #不允许匿名用户登陆 local_enable=YES #vsftpd所在系统的用户可以登录vsftpd write_e ...