1.程序执行的前一刻会先将代码预编译一遍,如果有语法错误则直接终止程序运行

//预编译之通天编译 --> 在执行的前一刻,会把文件通天扫描一遍
/**

  • //预编译 函数整体提升(即函数会放到程序最顶端) 变量提升 (即 var a = 123 ; 难么会将a变量提升,则值是undefined)
  • 未先声明变量就赋值的归全局所有 即Windows ,在程序执行则会创建一个Go{ } 对象 = Window{ }
  • 1.先创建一个AO对象
  • 2.再将函数形参和变量存入AO对象中,初始为undefined
  • 3.在将相应参数值从执行顺序往AO对象中传值,后覆盖前
  • 4.最后在执行程序,然后在AO对象中找
    */
// console.log(b);//undefined
// var b = 234;
// function test(a){//     console.log(a)//fn
//     console.log(b)//234
//     var a = 123;
//     console.log(a)//123
//     function a(){}
//     b = 123 ;
//     console.log(b);//123// }
// console.log(b);//234
// test(1);
// console.log(b);//123

2.函数作用域之精辟及函数原理的浅入深出

这里我就拿个上面那个列子稍微改动一下

 console.log(b);//undefinedvar b = 234 ;function test(a){console.log(a) //fnafunction a(){a = 123456 ;function c(){c = 789;}}console.log(b) //fnbvar a = 123 ;console.log(a) ; //123b();function b(){console.log(b) ;//undefinedc = 666 ;var b = 456 ;console.log(b) ;//456}console.log(c) ;//666c = 999 ;b = 123 ;console.log(b);//123}test(1);console.log(c); //999console.log(b); //234
i.这里我直接在终端运行了,如图所示
ii.在Chrome 浏览器运行程序的示意图

这里我在给出评论区了给出了几个案例,欢迎在评论区留下你的答案哦,我不会告诉你不可以直接速知答案的哦

JavaScript中函数作用域之精辟,函数原理的浅入深出,及程序执行预编译之通天编译???相关推荐

  1. 浅入深出之Java集合框架(中)

    Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...

  2. Why WebRTC|“浅入深出”的工作原理详解

    WebRTC可以被看作是一个不需要安装任何插件或者下载任何额外程序就能运行的浏览器原生实时通信手段.不同的客户端通过(相同或不同)浏览器跳转到同一个 URL 就能实现实时互通.看见彼此.但这只是&qu ...

  3. 一篇文章把你带入到JavaScript中的闭包与高级函数

    在JavaScript中,函数是一等公民.JavaScript是一门面向对象的编程语言,但是同时也有很多函数式编程的特性,如Lambda表达式,闭包,高阶函数等,函数式编程时一种编程范式. funct ...

  4. 前端中unescape是什么意思_详解JavaScript中的Unescape()和String() 函数

    JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解 ...

  5. JavaScript中的String()函数与示例

    String()函数 (String() function) String() function is a predefined global function in JavaScript, it i ...

  6. JavaScript中常见的字符串操作函数及用法汇总

    转载地址:http://www.jb51.net/article/65358.htm 这篇文章主要介绍了JavaScript中常见的字符串操作函数及用法,实例汇总了javascript常见的字符串转换 ...

  7. JavaScript中的作用域,闭包和上下文

    深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...

  8. javascript中关于作用域和闭包

    列表项目 前言 学习了javascript已经很久了,关于这个语言中的这两个特性也是早已耳熟能详,但是在实际的使用的过程中或者是遇到相关的问题的时候,还是不能很好的解决. 因此我觉得很有必要深入的学习 ...

  9. java scope是什么意思_Tutorial:Javascript中的作用域(scope)是什么?(一)(试用FIREBUG了解)...

    From Learn About the Ext JavaScript Library Summary: 本教程讲解了Javascript中的作用域(scope)几个要点和变量可见度(variable ...

最新文章

  1. [转载]判断IE浏览器-世界上最短的代码
  2. Java程序员从笨鸟到菜鸟之(一百零九)一步一步学习webservice(三)开发第一个基于XFire的webservice
  3. python3精要(20)-函数(1)
  4. vue 3.0和2.0区别_一文看懂 Vue.js 3.0 的优化
  5. static_cast, dynamic_cast, const_cast探讨【转】
  6. 再谈“炼金术”:可以使用不严谨的方法,但拒绝不严谨的评估方法
  7. 良心国产 PDF 软件!永久免费!不流氓
  8. 积累分布用例-洛伦兹曲线和随机游走
  9. 数学建模常用模型10 :数据包络(DEA)分析法(投入产出法)
  10. 数字图像处理——LoG算子
  11. python全栈工程师待遇如何_python全栈工程师工作待遇
  12. html5获取经纬度失败,h5获取经纬度有问题
  13. 导出excel 手动拼装复杂表头
  14. CSL:圆形平滑标签的任意方向目标检测
  15. 双路cpu比单路强多少_关于CPU单核单路/双路和双核双路的区别
  16. 男神.png misc之图片lsb隐写
  17. jpi多表联查_sql 多表联查询
  18. win7安全模式计算机管理在哪里,Win7怎么进入安全模式 3种方法轻松进入Win7安全模式...
  19. 贷款买二手房 这4笔钱你都准备好了么?
  20. C++注释的几种方法

热门文章

  1. python模型预测足球_采用 Python 机器学习预测足球比赛结果!买谁赢就谁赢!
  2. 计算机网络rarp通过什么找ip,ARP与RARP协议
  3. OpenCV 图像缩放:cv.resize() 函数详解
  4. 【opencv-python】霍夫圆检测
  5. amazon_advertising开发:下载报告
  6. C1科目一考试易混题整理
  7. Doris(五)-监控、报警、优化、数据备份及恢复
  8. 【报告分享】2021年10月汽车产销报告-中国汽车工业协会(附下载)
  9. IOS APP 一键置灰功能
  10. 0基础linux运维教程 sersync介绍