两个作用域

函数定义时确定

1.全局作用域
2.函数作用域

作用:隔离变量,不同作用域下同名变量不会有冲突

JS中没有块级作用域

两个上下文(或称为词法环境)

执行过程中产生

1.全局上下文:一个JS文件有且仅有一个
2.函数上下文:每调用一次产生一个上下文,调用完毕后销毁

作用:预编译过程中存储预处理数据

运行的两个步骤

1.预编译过程

预处理数据包括:
1.var对象:var a=10; —预处理—> var a=undefine
2.function : function fun(){} —预处理—> function fun=function(){}
(只有声明方式定义的函数有效,如上)
3.this

命名冲突时,function优先级最高


2.执行过程

命名冲突时,后面的覆盖前面的

预编译完成后:1.为所有变量赋值
2.忽略声明方式定义的函数声明方式定义的函数,只处理表达式方式定义的函数,eg:

(function fun(){})();//称为自执行函数或立即执行函数

备注:表达式方式定义的函数,即在函数前面加个基本运算符,eg:+ - * / ? () 等等

JS运行过程,作用域和上下文的作用,自执行函数相关推荐

  1. matlab运行函数的过程,关于matlab的一些作业一、要求写出窗口运行过程及结果1.利用Matlab求函数f(x)=-x2+ex+lnx的导数、...

    共回答了20个问题采纳率:90% 代码 function main() % 一.要求写出窗口运行过程及结果 % % 1.利用Matlab求函数f(x)=-x2+ex+lnx的导数.不定积分和1到10区 ...

  2. javascript运行过程中的“预编译阶段”和“执行阶段”

    javascript相对于其它语言来说是一种弱类型的语言,在其它如java语言中,程序的执行需要有编译的阶段 而在javascript中也有类似的"预编译阶段"(javascrip ...

  3. JavaScript的作用域和上下文

    作用域在函数定义时就已经确定了,执行上下文环境在函数调用时才确定.在全局作用域和函数作用域中会创建执行上下文环境(有闭包存在时,一个作用域存在两个上下文环境也是有的).函数每调用一次都会产生一个新的执 ...

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

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

  5. 内存管理——程序运行过程中内存的作用以及如何与cpu、os交互

    今年以来,内存条价格暴涨,已经跃升为新的新一代理财产品,所以今天就和大家讨论一下内存条的话题,主要内容就是在程序运行过程中,内存的作用以及如何与CPU,OS交互. 我们先来讨论:计算机的运行究竟是在做 ...

  6. JS中的立即执行函数

    JS 立即执行函数可以让函数在创建后立即执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行. 1.立即执行函数的写法 立即执行函数通常有下面两种写法: (function(){ ...

  7. html将变量打印到屏幕_用可视化过程解释代码运行过程和变量作用空间

    直接语言讲解和代码打印仍然不够直观,所以可以借助 2 个工具,一个是 Python Tutor 代码可视化工具:http://pythontutor.com/visualize.html#mode=e ...

  8. JS中的作用域(一)-详谈

    本篇文章在于详细解读JavaScript的作用域,从底层原理来解释一些常见的问题,例如变量提升.隐式创建变量等问题,在和大家一起交流进步的同时,也算对自己知识掌握的记录,方便以后复习 首先,直接捡干的 ...

  9. js 多个定时器_从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理(二)

    作者:撒网要见鱼   https://segmentfault.com/a/1190000012925872 本文接上篇 <从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理(一)> ...

最新文章

  1. java 成员变量 成员方法_《Java基础知识》Java成员变量,成员方法,构造方法和析构方法...
  2. 最值得一看的几条简单的谷歌 Google 搜索技巧!
  3. cdt规约报文用程序解析_DNS协议(报文解析)
  4. 震惊!来看《这份程序员面试手册》!!!
  5. 阿联酋是发达国家还是发展中国家
  6. C语言必知的几个概念
  7. 微服务与单体架构:IT变革中企业及个体如何自处?
  8. vue router 的两种路由模式hash与history的区别
  9. (新聞) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球
  10. 10分钟搞懂:亿级用户的分布式数据存储解决方案!
  11. C++:mutable关键字
  12. 剑指offer面试题12. 矩阵中的路径(矩阵搜索)(深度优先搜索)(剪枝)
  13. XILINX FPGA数字信号处理——10、重定时信号原理及实现
  14. iPhone模拟器如何截图呢?
  15. 免费的PDF转换器有哪些?小圆象PDF转换器办公达人必备工具
  16. Python面向对象版:学员管理系统(入门级练手)
  17. isdigit()函数如何判断负数
  18. 虚拟化是什么,虚拟化主要分为哪几种?
  19. 微信小程序从开发到上线步骤(持续更新)
  20. 米花APP是骗人的吗?具体该如何使用米花APP

热门文章

  1. Xpath练习 - 猪八戒网
  2. 王者荣耀提示java_手机Java游戏老玩家:为什么我开始了玩王者荣耀?
  3. 2018年职称英语计算机考试,2018年职称英语考试综合A词汇精选试题
  4. r语言attach()报错
  5. 模糊匹配提取地址中的省市
  6. vba 转换多种格式日期
  7. 史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏
  8. 刘强东卸任京东CEO,互联网大厂“毕业潮”背后,it程序员该何去何从?
  9. oppo官网首页html代码里,仿oppo官网手机商城建站模板html源码
  10. 典型性社会工程学***实战