首页 > 代码库 > JavaScrit全面总结
JavaScrit全面总结
前端技术的发展变化太快了,各种各样的框架。再变也离不开js。所以,在此把js的高级语法总结一遍。 js解析和执行包括:全局和函数
一:全局预处理
<script type="text/javascript">var a=1;function xx(){alert(a);}</script>
这段代码会正常输出a=1;
<script type="text/javascript">var a=1;function xx(){alert(a);var a=5;}</script>
输出 undefined 为什么呢? 不报错 输出undefined 。 这就是js的解析执行过程
js执行过程分为:预处理的阶段和执行阶段
预处理阶段:
一:创建一个词法环境 LexicalEnvironment==window
二:扫面js代码:
1.用声明的方法创建的函数
2.用var 定义的变量
预处理js处理命名冲突:
先扫描函数声明后扫描变量(var声明)
处理函数声明有冲突会覆盖
处理变量声明有冲突,会忽略
下面为例子:
<script type="text/javascript">alert(a); //undefinedalert(b); //报错alert(f); //字符串的表达式alert(g); //undefinedvar a=5;b=6;alert(b);function f(){ console.log(‘f‘);}//表达式创建的函数 var g=function(){console.log(‘g‘);}alert(g); </script>js分为两个阶段:一:预处理阶段 1.var 定义的变量 2.声明的方式创建的函数window{ f:指向函数 a:undefined g:undefined (表达式创建的函数可以当成变量)}二:执行时 没有定义var 就一次性赋值window{ f:输出函数的值 a:5 变量的定义 b: 6 函数赋值 g:指向函数}
函数:
JavaScrit全面总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。