zoukankan      html  css  js  c++  java
  • 作用域 预解析

    作用域

    域:空间 范围 区域

    作用:读、写

    1.script  全局变量 全局函数 自上而下一块执行完毕执行下一块

    2.函数  由里到外

    浏览器

    js解析器

    1.找一些东西:根据关键字 var function  参数

         a=未定义  

         所有的变量,在代码正式运行之前,都提前赋了一个值:未定义

         fn1=function fn1(){alert(2);}

      所有的函数,在代码正式运行之前,都是整个函数块

      JS预解析(形成一个仓库)

      注:遇到重名的,只留一个

        变量和函数重名了,就只留下函数

    例1:

    var a=1;

    function fn1(){

      alert(a);   //undefined  函数作用域

      var a=2;

    }

    fn1();

    alert(a);  // 1

    例2

    var a=1;

    function fn1(){

      alert(a);   //1  

      a=2;

    }

    fn1();

    alert(a);  // 2

    2.逐行解读代码

     表达式:=  + - * / % ! ++ -- 参数     能够改变值的动作

     表达式可以改预解析的值

    alert(a);  //function a(){alert(4);}

    var a=1;

    alert(a);   //1

    function a(){alert(2);}

    alert(a);   //1

    var a=3;   //3

    alert(a);

    function a(){alert(4);}

    alert(a);

    a();    //报错

  • 相关阅读:
    简单使用SQLite 的增删改查
    androidd 程序默认安装位置和数据存储位置(公用和私用)
    git用法demo
    jQuery动态赋值给选择器
    无法访问虚拟机web服务
    日志-demo
    vitualbox + centos出现问题整理
    安全基础术语
    vs2010+qt4.8.6
    redis高并发
  • 原文地址:https://www.cnblogs.com/miumiu316/p/6397094.html
Copyright © 2011-2022 走看看