码迷,mamicode.com
首页 > Web开发 > 详细

关于js的作用域,自我认知

时间:2018-08-29 14:31:41      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:pre   函数   fine   修改   作用   var   nbsp   理解   代码   

作用域要从两个步骤去理解这个概念:

1>首先要找到诸如 var  function 参数  之类

  alert(a);var a = 3;

  alert(a)是 ‘未定义‘

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

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

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

  遇到重名的:只留一个,变量和函数重名了,就只留下函数

2>逐行解读代码:

  表达式:= + - * / % ++ -- ! 参数……

  表达式可以修改预解析的值!

alert(a);    //function a (){ alert(4); }            
var a = 1;   
alert(a);    //1                
function a (){ alert(2); }
alert(a);    //1                
var a = 3;        
alert(a);    //3                
function a (){ alert(4); }
alert(a);    //3                

a();        //a is not a function
var a = 1;
function fn1(){
    alert(a);        //undefined                
    var a = 2;
}
fn1();           
alert(a);         //1
var a = 1;
function fn1(){
    alert(a);                        
    a = 2;
}
fn1();          //1
alert(a);        //2        
var a = 1;
function fn1(a){      //参数a = var a
    alert(a);        //undefined                
    a = 2;
}
fn1();
alert(a);            //2
var a = 1;
function fn1(a){
    alert(a);                        // 1
    a = 2;
}
fn1(a);
alert(a);                            // 1

 

关于js的作用域,自我认知

标签:pre   函数   fine   修改   作用   var   nbsp   理解   代码   

原文地址:https://www.cnblogs.com/gao-xiaomeng/p/9553135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!