`

JavaScript学习(二)

阅读更多

1.var声明的变量是永久性的,不能用delete运算符删除
2.使用var多次声明一个变量是合法的,不会造成任何错误,只不过是重新赋值而已;如果尝试给一个未用var声明的变量赋值,JavaScript会隐式声明该变量,隐式声明的变量会被创建为全局变量。
3.偷个懒,贴断代码:

var scope = "global";         // Declare a global variable
function checkscope( ) {
    var scope = "local";      // Declare a local variable with the same name
    document.write(scope);    // Use the local variable, not the global one
}
checkscope( );                 // Prints "local"

 

如果不使用var来定义变量,看看下面代码的执行结果吧,想不到吧,呵呵

scope = "global";             // Declare a global variable, even without var
function checkscope( ) {
    scope = "local";          // Oops! We just changed the global variable
    document.write(scope);    // Uses the global variable
    myscope = "local";        // This implicitly declares a new global variable
    document.write(myscope);  // Uses the new global variable
}
checkscope( );                 // Prints "locallocal"
document.write(scope);        // This prints "local"
document.write(myscope);      // This prints "local"

 

4.JavaScript变量没有块级作用域

 

 

function test(o) {
    var i = 0;                      // i is defined throughout function
    if (typeof o == "object") {
        var j = 0;                  // j is defined everywhere, not just block
        for(var k=0; k < 10; k++) { // k is defined everywhere, not just loop
            document.write(k);
        }
        document.write(k);          // k is still defined: prints 10
    }
    document.write(j);              // j is defined, but may not be initialized
}

 在函数中声明的变量在整个函数中都有定义,不管这个这个变量在哪个位置定义,例子:var scope = "global";

function f( ) {
    alert(scope);         // Displays "undefined", not "global"
    var scope = "local";  // Variable initialized here, but defined everywhere
    alert(scope);         // Displays "local"
}
f( );
 

JavaScript解析器在加载函数时候,总是先把所有var定义的变量声明,然后才会给赋值初始化,这段代码其实相当于:

 

 

function f( ) {
    var scope;       // Local variable is declared at the start of the function
    alert(scope);    // It exists here, but still has "undefined" value
    scope = "local"; // Now we initialize it and give it a value
    alert(scope);    // And here it has a value
}
 

所以,还是建议大家在函数的开头把所有变量声明.

 

5.作为属性的变量

 

两点:<1>全局变量是全局对象的属性

         <2>局部变量是调用对象的属性,每个函数都有自己的调用对象。

         <3>JavaScript允许有多个全局执行环境,这就是框架frame运行的原理;每个框架或者窗口中的JS代码都运行在自己的执行环境中,具有自己的全局变量,但是它们又是有关联的,即:可以用parent.frames[0].x方式来引用另一个框架中的变量。

 

6.作用域链

 

分享到:
评论

相关推荐

    JavaScript学习指南 源代码

    本“JavaScript学习指南”源代码包含了深入理解并掌握JavaScript编程的关键知识点。 一、基础语法 JavaScript的基础语法包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十四:HTML DOM-文档元素的操作(二)

    这篇教程——"JavaScript学习手册十四:HTML DOM-文档元素的操作(二)"深入探讨了如何使用JavaScript来操纵HTML文档中的元素,进一步提升网页动态性和交互性。 DOM是HTML和XML文档的一种结构化表示,它将网页内容...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册九:字符串

    二、字符串操作方法 1. 访问字符:JavaScript不支持直接通过索引来修改字符串,但可以通过索引来读取,如`str1[0]`。 2. 连接字符串:可以使用`+`运算符或`concat()`方法连接字符串。 3. 字符串切割:`slice()`, `...

    JavaScript学习笔记,javascript基础知识,基础语法整理.pdf

    二、 JavaScript 中的函数 * 函数是JavaScript中的一种基本结构单元 * 函数可以封装一组语句,实现功能的复用 * 函数可以传递参数,实现参数的传递 * 函数可以返回值,实现结果的返回 三、 JavaScript 中的对象 *...

    Javascript权威指南学习笔记二

    ### JavaScript权威指南学习笔记二:客户端JavaScript #### 第十二章:Web浏览器中的JavaScript ##### 一、Web浏览器环境 在客户端JavaScript中,浏览器提供了一个特定的执行环境,其中`window`对象扮演着至关...

    javascript高级编程学习手册

    目录: 第一章 javascript语言概述 第二章 JavaScript语言基础 第三章 JavaScript事件处理 第四章 JavaScript基于对象编程 第六章 string,math,array等数据对象 第七章 window及相关顶级对象 第八章 document对象

    javascript学习文档

    本学习文档旨在提供全面的JavaScript知识,帮助你快速掌握开发技巧。 一、JavaScript基础 1. 变量与数据类型:了解JavaScript中的变量声明(var、let、const)及其作用域,以及基本数据类型(Number、String、...

    JavaScript学习指南(第2版)

    《JavaScript学习指南(第2版)》由Sbelley Powers撰写,深入浅出地讲解了JavaScript的核心概念和技术,旨在帮助读者从零基础快速掌握这门语言。 在本书中,你将首先了解JavaScript的基本语法,包括变量、数据类型、...

    javascript入门学习笔记

    这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...

    JavaScript学习文档

    以上只是JavaScript学习文档的部分要点,实际的学习过程中,还需要结合实际项目实践,不断探索和深化理解,才能真正掌握这门语言的精髓。通过阅读这份文档,相信你会对JavaScript有更全面、深入的认识。

    JavaScript语言与Ajax应用第二版_JavaScript语言与Ajax应用_JavaScript应用_javascri

    通过"JavaScript语言与Ajax应用(第二版)"的学习,读者将能够熟练掌握JavaScript和Ajax技术,实现更高效、更具交互性的Web应用。这本书的源代码提供了实践案例,有助于读者更好地理解和应用所学知识。

    javascript学习大纲

    #### 二、JavaScript 输出方法 JavaScript 支持多种输出方式,其中最常用的是 `document.write()` 和 `alert()`: - **`document.write()`**:用于向 HTML 文档中写入文本或 HTML 代码。 ```javascript document...

    javascript学习笔记

    ### JavaScript 学习笔记知识点概览 #### 一、JavaScript 的基本概念与运行方式 - **JavaScript** 是一种脚本语言,主要用于网页的交互性设计,由 Netscape 公司开发。 - **Java Applet** 是由 Sun Microsystems ...

    JavaScript第二版 示例代码

    这个"JavaScript第二版 示例代码"的压缩包很显然是为了帮助学习者深入理解JavaScript编程的各个方面,通过实例来加强理论知识。 首先,我们看到几个以"normal_"和"hilight_"开头的.gif文件,这些通常是用于网页的...

    accp5.0 javascript指导学习一.rar

    S2_JavaScript_DLC1上机素材则可能是为第二部分(S2)的JavaScript学习准备的实践材料。这部分可能涉及更高级的主题,如对象和原型链、闭包、作用域、事件处理等。这些素材可能包含示例代码、实验项目或案例研究,让...

    javascript学习参考手册

    本手册旨在为初学者提供全面且深入的JavaScript学习指南,帮助你们理解并掌握这个强大的脚本语言。 一、JavaScript基础 JavaScript的核心概念包括变量、数据类型、操作符、控制结构、函数等。变量是存储信息的容器...

    JavaScript菜鸟学习教程

    二、JavaScript对象与数组 对象是JavaScript中的核心概念,它是一种键值对的集合,可以用来表示复杂的数据结构。数组则是存储多个元素的特殊对象,可以通过索引访问。学习JavaScript,理解对象和数组的创建、属性...

    javascript学习笔记整理知识点整理

    这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础知识,旨在帮助新手快速入门并掌握这门语言的核心概念。 一、变量与数据类型 在JavaScript中,变量用于存储数据。...

    很不错的javascript实现的自定义二级菜单

    学习这个经典案例,开发者不仅可以掌握创建二级菜单的基本技巧,还能进一步提升对JavaScript事件处理、DOM操作和CSS结合使用的能力。此外,这样的实践也有助于理解和应用网页动态交互设计的原理,为今后开发更复杂的...

    JavaScript学习指南 第二版

    JavaScript学习指南第二版是一本深度剖析JavaScript语言的书籍,旨在帮助读者全面理解并掌握这门广泛应用于Web开发的脚本语言。JavaScript不仅用于网页交互,还在服务器端、移动应用、游戏开发等多个领域发挥着重要...

Global site tag (gtag.js) - Google Analytics