`
shake863
  • 浏览: 661169 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

理解 javascript 的作用域

    博客分类:
  • JS
阅读更多

 

 

1、全局变量

 

 

var scope = "global";
function f() {   
    alert(scope); // global
}
f();
 

2、局部变量被 hoisted

 

 

var scope = "global";
function f() {
    alert(scope); // undefined
    var scope = "local";
}
f();
 

 3、强制访问外部域

 

 

var scope = "global";
function f() {
    alert(this.scope); // global
    var scope = "local";
}
f();
 

4、外部变量被隐藏

 

 

var scope = "global";
function f() {
    var scope = "local";
    alert(scope); // local
}
f();
 

 

5、外部变量被修改

 

 

var scope = "global";
function f() {
    scope = "local";
    alert(scope); // local
}
f();
alert(scope); // local
 

   相当于

 

 

var scope = "global";
function f() {
    this.scope = "local";
    alert(scope); // local
}
f();
alert(scope); // local

 

6、函数被当成 构造方法使用

 

 

var scope = "global";
function f() {
    this.scope = "local";  // 这里的this 变了
    alert(scope); // global
}
f1 = new f();   // f 被当成 constructor 使用
alert(f1.scope); // local
alert(scope); // global
 

 

分享到:
评论

相关推荐

    深入理解JavaScript作用域和作用域链

    深入理解JavaScript作用域和作用域链对于编写高效、无错的代码至关重要。正确管理作用域可以避免全局变量冲突,提高代码的复用性和模块化,同时也有助于提升性能,因为局部变量的访问速度通常比全局变量快。在实际...

    深入理解JavaScript作用域共12页.pdf.zip

    本资料"深入理解JavaScript作用域共12页.pdf"将详细探讨这一主题。 在JavaScript中,作用域主要有两种类型:全局作用域和局部作用域。全局作用域的变量在整个脚本中都是可访问的,而局部作用域的变量只在其声明的...

    深化理解javascript作用域其次篇之词法作用域和动态作用域_.docx

    深化理解javascript作用域其次篇之词法作用域和动态作用域_ 深化理解javascript作用域其次篇之词法作用域和动态作用域,是javascript中非常重要的一部分。理解词法作用域和动态作用域对javascript的编程至关重要。...

    深入理解JavaScript作用域.pdf

    深入理解JavaScript作用域

    理解JavaScript作用域和作用域链

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。任何程序...

    深入理解javascript作用域第二篇之词法作用域和动态作用域

    本文是深入理解javascript作用域系列第二篇——词法作用域和动态作用域 词法作用域  第一篇介绍过,编译器的第一个工作阶段叫作分词,就是把由字符组成的字符串分解成词法单元。这个概念是理解词法作用域的基础  ...

    JavaScript作用域原理

    最后,通过阅读和学习如http://www.cnblogs.com/strick/p/3992745.html这样的文章,可以深入理解JavaScript作用域的更多细节,包括如何避免常见陷阱,以及如何在实际项目中有效地应用这些知识。

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

    在理解JavaScript作用域链之前,我们需要先了解JavaScript的作用域机制,特别是词法作用域(lexical scope)。 **词法作用域**:变量的作用域是由其在源代码中定义的位置决定的,而不是由其实际执行位置决定的。这...

    javascript变量作用域

    了解 JavaScript 变量作用域的规则非常重要,因为它可以帮助我们更好地理解和使用 JavaScript 语言。同时,了解变量作用域的规则也可以帮助我们避免一些常见的错误和问题。 在实际开发中,了解变量作用域的规则可以...

    javascript执行环境,作用域理解

    JavaScript 执行环境和作用域的深层次理解 在 JavaScript 中,执行环境和作用域是两个非常重要和基本的概念,理解了这两个概念对于 JavaScript 中很多脚本的运行结果就能明白其中的道理了。执行环境是一个概念,一...

    理解JavaScript变量作用域.pdf

    理解JavaScript变量作用域.pdf 本人还有几十本经典javascript书籍以及无数javascript资料,要的加我qq 568094881,本人网址:www.maoshanhai.com

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

    Javascript作用域和变量提升是该语言中的核心概念之一,初学者经常对这些概念感到困惑。在深入讨论这些主题之前,我们需要理解什么是作用域(Scope)和变量提升(Hoisting)。 作用域是指变量在特定区域内是否可见...

    JavaScript作用域示例详解

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域示例详解的介绍,希望能帮助大家更好的学习JavaScript。 任何程序设计...

    深入理解javascript作用域和闭包

    JavaScript中的作用域和闭包是理解其核心概念的关键。作用域决定了变量的可见性和生命周期,而闭包则是JavaScript中一种独特且强大的特性,允许函数访问并操作其外部作用域的变量,即使在其外部作用域已经结束的情况...

    JavaScript作用域与作用域链深入解析

    作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。 ...

Global site tag (gtag.js) - Google Analytics