js中的函数应用

什么是函数,函数的概念

  • 函数就像一个黑匣子,里面的东西你都不知道,但是你提供一些材料放进去,他可以制造出你需要的东西;
  • 可以让多个一样的功能封装组合起来,然后想执行几次就执行几次
  • 函数就是另外一种形式的变量

函数的创建和执行

  • 定义函数的方式

    • 函数声明
      function test(){
      
      }
    • 函数表达式
      //命名函数表达式
      var test = function abc(){ }
      //匿名函数表达式
      var test = function(){ }
    • 函数的组成形式

      function 变量名(形参){}

      变量名(实参);

函数的参数

  • 函数的写法
    //形式参数 -- 形参
    function sum(a,b){
    //里面写逻辑
    var c = a + b;
    document.write(c);
    }
    //实际参数 -- 实参
    sum(1,2);
  • 形参多实参少的情况
    • 实参就是undifined;
  • 实参多形参少的情况
    • 实参的内容会存入arguments中
  • 形参判断个数和形参判断个数
    • 形参可以通过函数名.length来判断个数
    • 实参可以通过arguments.length来判断个数
  • 实参和arguments是映射关系,但是如果形参比实参多,多的一部分不映射

函数的返回值

  • 返回值的关键字 return
  • 终止函数
    function sum (a,b){
console.log('a');
//如果写了return,那么后面的东西不执行,return会执行并且把里面的东西返回出去
return;
console.log('b');
}
  • 返回值
function sum(){
return 123;
}
var res = sum();
  • 可以将这个行数返回出来并接收到res变量之中

预解析(预编译)

函数声明整体提升

变量 声明提升

  • 语义分析

    • 浏览器会通篇扫描一遍

函数的作用域

++预编译的现象++

  • 暗示全局变量(伪全局变量):即任何变量,如果变量未经声明就赋值,此变量就为全局所有

    • e.g: a = 123;
    • e.g: var a = b = 123;
  • 一切声明的全局变量,全是window的属性。
    • e.g: var a =123; ===> window.a=123;
    • window 就是全局的域 (Global Object)
  • 里面的函数的变量可以访问外面的变量
  • 外面的函数变量不能访问里面的变量

最新文章

  1. JavaScript中事件和属性有什么区别吗?或者说事件与方法有什么区别?
  2. OC-@property、self及类的本质
  3. 基于数据库MySQL的简易学生信息管理系统
  4. var 的使用
  5. android实现qq邮箱多个图标效果
  6. ModernUI教程:第一个ModernUI应用(手动编写)
  7. JAVA中在Myeclipse里把表导入成相应的poco实体类
  8. Qt编译安装后中文无法显示问题
  9. 横轴墨卡托 (Transverse Mercator) 投影
  10. Android Studio 快捷方式
  11. div+css 圆角加阴影
  12. webpack入门篇--1.简单介绍
  13. Spring RestTemplate中几种常见的请求方式
  14. vue-cli的跨域配置(自己总结)
  15. Redis讲解以及测试要点
  16. 查询Oracle性能差的、正在执行或执行过的SQL语句
  17. loadrunner12-查看controller运行报错详细log
  18. JavaScript 函数的4种调用方法
  19. linux中文字体
  20. 查询数据库时mapper报错:It's likely that neither a Result Type nor a Result Map was specified.

热门文章

  1. 吴裕雄--天生自然 pythonTensorFlow自然语言处理:Seq2Seq模型--训练
  2. PAT甲级——1152.Google Recruitment (20分)
  3. oBike退出新加坡、ofo取消免押金服务,全球共享单车都怎么了?
  4. myeclipse 编写java代码提示 dead code 原因
  5. Mac中Apache常用命令
  6. linux 上zookeeper安装
  7. CentOS-TFTP服务搭建
  8. Windows下的GUI 库
  9. Linux把内存挂载成硬盘提高读写速度
  10. django项目导航页_20191128