页面中多个script块之间的关系

简介:

一:函数声明与函数定义表达式在函数调用间的区别

复制代码
<script type="text/javascript">  

    doA();

    var doA = function(argument) {
        console.log('执行了')
    }

</script>
复制代码

结果:

复制代码
<script type="text/javascript">  
 
    doA();
    function  doA(argument) {
        console.log('执行了')
    }

</script>  
复制代码

结果:执行了

结论:函数声明在编译期处理了函数声明,但是函数定义表达式并没有初始化与赋值。类似声明了一个变量,但是变量没有赋值。

 

二:多个script之间对于变量的关系

JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享。

复制代码
<script type="text/javascript">  
    function  doA(argument) {
        console.log('执行了')
    }
</script>  
<script type="text/javascript">
     doA();
</script>
复制代码

结果:执行了

**如果两个函数块之间更换位置,那就会报错。

 

<script type="text/javascript">  
   var a = 0;
</script>  
<script type="text/javascript">
    console.log(a);
</script>

结果:0

**如果两个函数块之间更换位置,那就会报错。

 

三:这样就造成了一个问题,当我们一个页面中引入多个js的时候,可能会造成全局变量的污染

我们可以这么做来避免:

复制代码
<script type="text/javascript">  
   var a = 0;
</script>  
<script type="text/javascript">
    ;(function(){
        var a = 1;
        console.log(a);
    })();
    console.log(a);
</script>
复制代码
结果:1
          0
 
或者我们直接用函数来做:
复制代码
<script type="text/javascript">  
function  bigDoA(argument) {
    var a = 0;
    //其他代码
} 
</script>  
<script type="text/javascript">
function  bigDoB(argument) {
    var a = 0;
    //其他代码
}
</script>
复制代码

 转载:http://www.cnblogs.com/zqzjs/p/5497955.html

目录
相关文章
|
1月前
|
JavaScript
写一个函数将N组<>(包含开始和结束),进行组合,并输出组合结果 (js)
写一个函数将N组<>(包含开始和结束),进行组合,并输出组合结果 (js)
10 0
|
2月前
|
数据可视化 前端开发
HTML基础结构和常用标记的例子
HTML基础结构和常用标记的例子
15 0
|
1月前
|
缓存 前端开发 JavaScript
CSS 的 link 标签放在 head 标签之间的作用
CSS 的 link 标签放在 head 标签之间的作用
26 1
|
6月前
带有上下级关系的数据改为树形菜单的数据
带有上下级关系的数据改为树形菜单的数据
24 0
|
5月前
|
存储 JavaScript 安全
js中多个页面之间如何进行通信?有什么区别?
js中多个页面之间如何进行通信?有什么区别?
41 0
|
5月前
|
JavaScript 前端开发 Go
<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别
<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别
29 0
|
7月前
|
前端开发
|
JSON JavaScript 前端开发
JavaScript 中对象和映射之间的 6 个区别
Object 和 Map 都是键值对的动态集合,从这个定义开始,它们非常相似,但也可以找出它们之间的一些差异。
269 0
JavaScript 中对象和映射之间的 6 个区别
|
JavaScript 前端开发
JavaScript 节点及层级操作
JavaScript 节点及层级操作
|
Java
JSP中静态包含与动态包含的关系
JSP中静态包含与动态包含的关系
97 0