码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScrit全面总结

时间:2016-09-22 23:52:55      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

   前端技术的发展变化太快了,各种各样的框架。再变也离不开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);    //undefined
alert(b);  //报错
alert(f);  //字符串的表达式
alert(g);   //undefined

var 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全面总结

标签:

原文地址:http://www.cnblogs.com/sunliyuan/p/5898355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!