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的基础语法包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、...
这篇教程——"JavaScript学习手册十四:HTML DOM-文档元素的操作(二)"深入探讨了如何使用JavaScript来操纵HTML文档中的元素,进一步提升网页动态性和交互性。 DOM是HTML和XML文档的一种结构化表示,它将网页内容...
二、字符串操作方法 1. 访问字符:JavaScript不支持直接通过索引来修改字符串,但可以通过索引来读取,如`str1[0]`。 2. 连接字符串:可以使用`+`运算符或`concat()`方法连接字符串。 3. 字符串切割:`slice()`, `...
二、 JavaScript 中的函数 * 函数是JavaScript中的一种基本结构单元 * 函数可以封装一组语句,实现功能的复用 * 函数可以传递参数,实现参数的传递 * 函数可以返回值,实现结果的返回 三、 JavaScript 中的对象 *...
### JavaScript权威指南学习笔记二:客户端JavaScript #### 第十二章:Web浏览器中的JavaScript ##### 一、Web浏览器环境 在客户端JavaScript中,浏览器提供了一个特定的执行环境,其中`window`对象扮演着至关...
目录: 第一章 javascript语言概述 第二章 JavaScript语言基础 第三章 JavaScript事件处理 第四章 JavaScript基于对象编程 第六章 string,math,array等数据对象 第七章 window及相关顶级对象 第八章 document对象
本学习文档旨在提供全面的JavaScript知识,帮助你快速掌握开发技巧。 一、JavaScript基础 1. 变量与数据类型:了解JavaScript中的变量声明(var、let、const)及其作用域,以及基本数据类型(Number、String、...
《JavaScript学习指南(第2版)》由Sbelley Powers撰写,深入浅出地讲解了JavaScript的核心概念和技术,旨在帮助读者从零基础快速掌握这门语言。 在本书中,你将首先了解JavaScript的基本语法,包括变量、数据类型、...
这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...
以上只是JavaScript学习文档的部分要点,实际的学习过程中,还需要结合实际项目实践,不断探索和深化理解,才能真正掌握这门语言的精髓。通过阅读这份文档,相信你会对JavaScript有更全面、深入的认识。
通过"JavaScript语言与Ajax应用(第二版)"的学习,读者将能够熟练掌握JavaScript和Ajax技术,实现更高效、更具交互性的Web应用。这本书的源代码提供了实践案例,有助于读者更好地理解和应用所学知识。
#### 二、JavaScript 输出方法 JavaScript 支持多种输出方式,其中最常用的是 `document.write()` 和 `alert()`: - **`document.write()`**:用于向 HTML 文档中写入文本或 HTML 代码。 ```javascript document...
### JavaScript 学习笔记知识点概览 #### 一、JavaScript 的基本概念与运行方式 - **JavaScript** 是一种脚本语言,主要用于网页的交互性设计,由 Netscape 公司开发。 - **Java Applet** 是由 Sun Microsystems ...
这个"JavaScript第二版 示例代码"的压缩包很显然是为了帮助学习者深入理解JavaScript编程的各个方面,通过实例来加强理论知识。 首先,我们看到几个以"normal_"和"hilight_"开头的.gif文件,这些通常是用于网页的...
S2_JavaScript_DLC1上机素材则可能是为第二部分(S2)的JavaScript学习准备的实践材料。这部分可能涉及更高级的主题,如对象和原型链、闭包、作用域、事件处理等。这些素材可能包含示例代码、实验项目或案例研究,让...
本手册旨在为初学者提供全面且深入的JavaScript学习指南,帮助你们理解并掌握这个强大的脚本语言。 一、JavaScript基础 JavaScript的核心概念包括变量、数据类型、操作符、控制结构、函数等。变量是存储信息的容器...
二、JavaScript对象与数组 对象是JavaScript中的核心概念,它是一种键值对的集合,可以用来表示复杂的数据结构。数组则是存储多个元素的特殊对象,可以通过索引访问。学习JavaScript,理解对象和数组的创建、属性...
这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础知识,旨在帮助新手快速入门并掌握这门语言的核心概念。 一、变量与数据类型 在JavaScript中,变量用于存储数据。...
学习这个经典案例,开发者不仅可以掌握创建二级菜单的基本技巧,还能进一步提升对JavaScript事件处理、DOM操作和CSS结合使用的能力。此外,这样的实践也有助于理解和应用网页动态交互设计的原理,为今后开发更复杂的...
JavaScript学习指南第二版是一本深度剖析JavaScript语言的书籍,旨在帮助读者全面理解并掌握这门广泛应用于Web开发的脚本语言。JavaScript不仅用于网页交互,还在服务器端、移动应用、游戏开发等多个领域发挥着重要...