`

javaScript作用域分析

阅读更多
<script type=text/javascript>
    
   // 作用域分析分为两部分
   //预解析
   //执行代码
   
   //先上一个
   var a=1;
   function f1(){
        alert(a);//undefined
        var a=2;
   }
   f1();
   alert(a);//1
   //预解析 (全局变量)
   //全局a=undefined; 解析的时候只是将变量放到全局的仓库里
   //函数f1=function f1(){}
   
   //解析完,执行语句
   //a=1;
    //执行到函数,函数也有作用域,再来用同样方法
    
    //局部 var a=undefined;
    
    //执行代码
    //a=2;
    //所以结果吗写在代码后面,再跑起来验证下是正确的
      
</script>

<script type=text/javascript>
	/*
	 //再来改改代码
    
     //再上一个
   var a=1;
   function f1(){
        alert(a);//1
        a=2;
   }
   f1();
   alert(a);//2
   
   //对上面的例子注意一点就行,当局部中没有这个变量会到父作用域中寻找,跑起来检测
   */
   
   //再改改
   
      
   var a=1;
   function f1(a){
        alert(a);//undefined
        a=2;
   }
   f1();
   alert(a);//1
   //形参a  实际上是var a=undefined
   
</script>
 

<script type=text/javascript>
	//再来一个难一点
	window.onload=function(){
		//alert(1);
		var oDiv=document.getElementById('div1');
		var oInps=document.getElementsByTagName('input');
		for(var i=0;i<oInps.length;i++){
			oInps[i].onclick=function(){
				//如果这样写,你这认i的值是多少
				alert(i);
				oInps[i].style.background='red';//Cannot read property 'style' of undefined
				//知道原因了吧
				//
			}
		}
	};
	


</script>
 //至此结束

 

分享到:
评论

相关推荐

    Javascript的词法作用域分析.pdf

    Javascript词法作用域分析 Javascript中的词法作用域分析是指变量的作用域不是在执行时决定的,而是在定义时决定的,也就是说通过静态分析就能确定。因此,词法作用域也叫做静态作用域。 在Javascript中,一个方法...

    javascript作用域链(Scope Chain)初探.docx

    本文将通过对几个具体例子的分析来探讨JavaScript作用域链的基本原理及其工作方式。 #### 二、从一个简单的问题说起 考虑以下JavaScript代码: ```javascript var arg = 1; function fucTest(arg) { alert(arg)...

    javascript 闭包、匿名函数、作用域链

    JavaScript中的闭包、匿名函数和作用域链是编程中至关重要的概念,它们是理解JavaScript运行机制的关键。在本文中,我们将深入探讨这三个概念,并通过实际示例来展示它们的运用。 首先,我们来讨论“闭包”。闭包是...

    JavaScript 作用域实例分析

    JavaScript 作用域是编程中一个至关重要的概念,它决定了变量的可见性和生命周期。在这个实例分析中,我们将深入探讨JavaScript中的作用域,特别是函数作用域...希望本文的分析对理解和应用JavaScript作用域有所帮助。

    基于JavaScript的变量作用域的辨析.pdf

    本文探讨了JavaScript中的变量作用域问题,通过对两种变量的特性从不同角度进行分析和测试,讨论了如何控制变量作用域的有效方法。 变量作用域是JavaScript编程过程中经常遇到的问题之一,对于编程人员来说是一个...

    js变量作用域

    通过对JavaScript中变量作用域的深入分析,我们可以更好地理解面向对象编程的概念以及如何有效地管理变量的作用域。这对于编写高效、可维护的JavaScript代码至关重要。理解这些概念不仅能帮助我们避免常见的错误,还...

    深入理解Javascript作用域与变量提升

    在给定的内容中,详细分析了Javascript作用域和变量提升的具体示例。例如: ```javascript var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); // 结果是10 } ``` 上述代码中,`foo` 在...

    作用域初理解1

    在JavaScript中,作用域引擎负责整个程序的执行,而编译器则负责语法分析和代码生成。 首先,我们需要理解作用域的基础概念。作用域是代码中变量、函数和其他标识符的可见范围。它定义了变量在何处可以被访问以及...

    JavaScript 作用域链解析

    在深入探讨JavaScript作用域链解析之前,首先需要明确几个关键概念:作用域(Scope)、作用域链(Scopechain)、执行上下文(Executecontext)、活动对象(ActiveObject)、动态作用域(Dynamic Scope)以及闭包...

    JavaScript 变量作用域分析

    JavaScript 中的变量作用域是一个非常重要的概念,它决定了变量在程序中可以被访问的范围。理解变量作用域有助于编写更加高效和可预测的代码。 首先,全局作用域指的是在 JavaScript 程序中任何位置都可以访问的...

    JavaScript函数作用域链分析

    根据给定文件中的实例,我们可以具体分析作用域链的工作机制: ```javascript var c = 5; function t1() { var d = 6; function t2() { var e = 7; var d = 3; // 这里声明的d覆盖了t1函数作用域中的d console...

    JavaScript作用域链实例详解

    JavaScript中的作用域链是理解变量查找机制和函数执行上下文的关键概念。首先,让我们解释一下作用域。在编程中,作用域定义了变量和函数的可访问性,即变量和函数能在哪些地方被引用和使用。 ### 作用域链基本原理...

    JS的作用域与闭包

    闭包是JavaScript中一个高级概念,它允许一个函数记住并访问它外部作用域中的变量,即使该函数在其外部作用域之外执行也是如此。 ##### 1. 闭包的定义 闭包是由函数和与其相关的引用环境组合而成的实体,这个环境...

    你不懂JS:作用域与闭.pdf

    《你不懂JS:作用域与闭包》这本书深入讲解了JavaScript中两个核心概念:作用域和闭包。作用域是JavaScript变量和函数定义的可见范围,它决定了代码中哪些部分可以访问特定变量。理解作用域对于编写可维护和高效的...

Global site tag (gtag.js) - Google Analytics