zoukankan      html  css  js  c++  java
  • 制作火种之前的简单基础讨论变量作用域

    几乎每一本关于js的书,都要讲讲作用域,而且篇幅都不小,我把我个人总结的两点贡献给大家,希望大家尽量以简洁的方式认识作用域,实际作用域遵从两个法则,我个人管这两个法则一个叫平下法,另一个叫顺序法。先说第一个,一个var他的有效作用域就是平行之间引用和向下引用是正确的,简单的代码实例:

    function a(){

    do something;

    }

    //----------平行引用---------

    function b(){

    a();//这个引用是有效的 因为a和b平行

    }

    //-------向下引用------------

    function b(){

    function c(){

    a();//这也是正确的 因为function c这是向下(闭包)函数(如果不理解闭包的读者会比较难懂)

    }

    }

    第二个是顺序法则

    以上是function 遵循平下法则

    要是var呢 他不仅遵循平下法则,还要遵循顺序法则,反之function 不遵循顺序法则。

    示例代码:

    function b(){

    var a="first var";

    Response.Write(a);//服务器端这是正确的

    alert(a);//客户端这是正确的

    }

    function b(){

    Response.Write(a);//这是不正确的

    var a=“first var”;

    }

    //-------举一反三-------

    function a(){

    b();//这是一定不行的 因为他是var

    var b=function(){

    do something;

    }

    }

    顺便再说一句

    局部变量优先级最高,我估计这不用我说,有经验的读者可以绕过以上内容,不过呢我是曾经被各种书的作用域曾经说的迷迷糊糊,有的资料更是说的很玄!我希望能用最简单的方法把复杂问题说清。

    我的qq:674096197,欢迎一起探讨asp javascript 不在线请弹屏一下!
  • 相关阅读:
    Java 发送http post 请求
    经纬度计算
    js cookie操作
    wdatepicker默认时间为当前时间
    基于ssm的poi反射bean实例
    jbox小型交互表单(ajax)
    点击图片查看大图(纯js)
    查询物理表字段(mysql)
    离线安装 Cloudera ( CDH 5.x )(转载)
    sed命令详解 (转载)
  • 原文地址:https://www.cnblogs.com/329521/p/1654655.html
Copyright © 2011-2022 走看看