`
shake863
  • 浏览: 638583 次
  • 性别: 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作用域其次篇之词法作用域和动态作用域_.docx

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

    深入理解JavaScript作用域.pdf

    深入理解JavaScript作用域

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

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

    理解JavaScript作用域和作用域链

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

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

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

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

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

    理解JavaScript变量作用域.pdf

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

    JavaScript作用域示例详解

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

    javascript执行环境,作用域理解

    对javascript执行环境,作用域的深层次理解,

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

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

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

    主要是对Javascript作用域与变量提升进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    深入理解javascript作用域和闭包

    javascript中函数内声明的所有变量在函数体内始终是可见的,在javascript中有全局作用域和局部作用域,但是没有块级作用域,局部变量的优先级高于全局变量,通过几个示例来了解下javascript中作用域的那些“潜规则”...

    跟我学习javascript的作用域与作用域链

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

    深入理解变量作用域

    有关作用域的新描述给理解多环境下的变量提供了一种有用的方法,它为javascript的工作过程提供了一个强大的新理解。 每个javascript执行环境都有一个和它关联在一起的作用域链(scope chain).这个作用域链是一个对象...

Global site tag (gtag.js) - Google Analytics