zoukankan      html  css  js  c++  java
  • js 随手记

    
    
    var name = 'frog'
    function hello(){
        alert(name); // undefined
        var name = 'bbc';
    }
    在javascript中,函数是可以形成一个独立作用域的,变量的查找,首先是就近原则,先看自己有没有,自己没有,就会自动跑到外层去找,这一点和其 它语言可能不一样,它会自动跑外边去找。
    在整个hello作用域内,只要定义了name这个变量,就不会去window中找,不过呢,在hello自己的 作用域内,还有一个规则,申明之前调用,都是undefined,申明且赋值之后调用才会有值。
    alert(name)发生在申明之前,所以会弹出 undefined就是这么个道理。

    for(var i=0;i<10;i++){
        //...
    }
    alert(i)//10

    这个块,指的就是两个大括号之间的区域, 在javascript中,原本是不存在这个问题的,出现这个疑问,是由那些搞过c语言之类的人转来搞javascript带来的。他们以前的知识

    
    

    中,循环之后,i自动销毁了,但是javascript中不是这样的。只要记得javascript中,函数才是划分作用域的就可以了。

     
     
  • 相关阅读:
    oracle 编译无效对象
    nginx配置监控
    Docker底层技术
    KVM入门
    maven 忽略checkstyle
    Java 使用 UnixSocket 调用 Docker API
    unix-socket-implementation-for-java
    NVIDIA Physix Unity3D
    Mobile Prototype Dev Res Collection(Unity原型开发资源储备)
    Unity抗锯齿
  • 原文地址:https://www.cnblogs.com/gexx/p/4243447.html
Copyright © 2011-2022 走看看