JavaScrit全面总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);    //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全面总结的主要内容,如果未能解决你的问题,请参考以下文章

javascrit开发的基本代码结构的

JavaScrit构造函数原型对象作用意义

javascript 函数JavaScrit与Haskell进行了比较

javascrit--常用互动方法

详细实例说明+典型案例实现 对动态规划法进行全面分析 | C++

javascrit中“字符串为什么可以调用成员”