JS运行过程,作用域和上下文的作用,自执行函数
两个作用域
函数定义时确定
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运行过程,作用域和上下文的作用,自执行函数相关推荐
- matlab运行函数的过程,关于matlab的一些作业一、要求写出窗口运行过程及结果1.利用Matlab求函数f(x)=-x2+ex+lnx的导数、...
共回答了20个问题采纳率:90% 代码 function main() % 一.要求写出窗口运行过程及结果 % % 1.利用Matlab求函数f(x)=-x2+ex+lnx的导数.不定积分和1到10区 ...
- javascript运行过程中的“预编译阶段”和“执行阶段”
javascript相对于其它语言来说是一种弱类型的语言,在其它如java语言中,程序的执行需要有编译的阶段 而在javascript中也有类似的"预编译阶段"(javascrip ...
- JavaScript的作用域和上下文
作用域在函数定义时就已经确定了,执行上下文环境在函数调用时才确定.在全局作用域和函数作用域中会创建执行上下文环境(有闭包存在时,一个作用域存在两个上下文环境也是有的).函数每调用一次都会产生一个新的执 ...
- JavaScript中的作用域,闭包和上下文
深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...
- 内存管理——程序运行过程中内存的作用以及如何与cpu、os交互
今年以来,内存条价格暴涨,已经跃升为新的新一代理财产品,所以今天就和大家讨论一下内存条的话题,主要内容就是在程序运行过程中,内存的作用以及如何与CPU,OS交互. 我们先来讨论:计算机的运行究竟是在做 ...
- JS中的立即执行函数
JS 立即执行函数可以让函数在创建后立即执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行. 1.立即执行函数的写法 立即执行函数通常有下面两种写法: (function(){ ...
- html将变量打印到屏幕_用可视化过程解释代码运行过程和变量作用空间
直接语言讲解和代码打印仍然不够直观,所以可以借助 2 个工具,一个是 Python Tutor 代码可视化工具:http://pythontutor.com/visualize.html#mode=e ...
- JS中的作用域(一)-详谈
本篇文章在于详细解读JavaScript的作用域,从底层原理来解释一些常见的问题,例如变量提升.隐式创建变量等问题,在和大家一起交流进步的同时,也算对自己知识掌握的记录,方便以后复习 首先,直接捡干的 ...
- js 多个定时器_从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理(二)
作者:撒网要见鱼 https://segmentfault.com/a/1190000012925872 本文接上篇 <从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理(一)> ...
最新文章
- java 成员变量 成员方法_《Java基础知识》Java成员变量,成员方法,构造方法和析构方法...
- 最值得一看的几条简单的谷歌 Google 搜索技巧!
- cdt规约报文用程序解析_DNS协议(报文解析)
- 震惊!来看《这份程序员面试手册》!!!
- 阿联酋是发达国家还是发展中国家
- C语言必知的几个概念
- 微服务与单体架构:IT变革中企业及个体如何自处?
- vue router 的两种路由模式hash与history的区别
- (新聞) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球
- 10分钟搞懂:亿级用户的分布式数据存储解决方案!
- C++:mutable关键字
- 剑指offer面试题12. 矩阵中的路径(矩阵搜索)(深度优先搜索)(剪枝)
- XILINX FPGA数字信号处理——10、重定时信号原理及实现
- iPhone模拟器如何截图呢?
- 免费的PDF转换器有哪些?小圆象PDF转换器办公达人必备工具
- Python面向对象版:学员管理系统(入门级练手)
- isdigit()函数如何判断负数
- 虚拟化是什么,虚拟化主要分为哪几种?
- 微信小程序从开发到上线步骤(持续更新)
- 米花APP是骗人的吗?具体该如何使用米花APP
热门文章
- Xpath练习 - 猪八戒网
- 王者荣耀提示java_手机Java游戏老玩家:为什么我开始了玩王者荣耀?
- 2018年职称英语计算机考试,2018年职称英语考试综合A词汇精选试题
- r语言attach()报错
- 模糊匹配提取地址中的省市
- vba 转换多种格式日期
- 史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏
- 刘强东卸任京东CEO,互联网大厂“毕业潮”背后,it程序员该何去何从?
- oppo官网首页html代码里,仿oppo官网手机商城建站模板html源码
- 典型性社会工程学***实战