//函数作用域
//JavaScript 的作用域为词法作用域,所谓词法作
//用域是说,其作用域为在定义时(词法分析时)就确定下来的,而并非在执行时确定
//作用域链是关于作用域的链,通常实现为一个链表,链表的每个项都是一个对象,在全局作用域中,该链
//中有且只有一个对象,即全局对象。对应的,在一个函数中,作用域链上会有两个对象,第
//一个(首先被访问到的)为调用对象,第二个为全局对象。
//JavaScript 中,函数也是一种对象,并非其他任何对象的一部分
//函数本身是独立的。可以通过Function 对象上的 call 或者 apply 函数来修改函数的上下
var str = "global";
function scopeTest(){
alert(str);// 由于在局部作用域是能找到str的定义,而此处使用是在局部定义之前,所以打印的是 undefined
var str = "local";
alert(str);
alert(window.str);// 利用全局对象,来引用全局变量
}
scopeTest();
function scopeTest2(){
alert(str);//由于在局部作用域上未能找到定义,而此处是继续在链接上查询,最终找到的是全局变量
}
scopeTest2();
function adPrint2(str, handler){
print(handler(str));
}
//将字符串转换为大写形式,并返回
function up(str){
return str.toUpperCase();
}
//将字符串转换为小写形式,并返回
function low(str){
return str.toLowerCase();
}
adPrint2("Hello, world", up);
adPrint2("Hello, world", low);
//想要处理一些对象,但是又不确定以何种形式来处理,则完全可以将“处理方
//式”作为一个抽象的粒度来进行包装(即函数)。
分享到:
相关推荐
这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础知识,旨在帮助新手快速入门并掌握这门语言的核心概念。 一、变量与数据类型 在JavaScript中,变量用于存储数据。...
本学习笔记旨在帮助初学者快速掌握JavaScript的核心概念和技术,实现从入门到精通的过渡。 1. **基础语法** - 变量声明:JavaScript支持var、let和const关键字声明变量,理解它们的作用域和提升特性至关重要。 - ...
本学习笔记将深入探讨JavaScript的核心概念,包括变量、数据类型、操作符、控制流程、函数、对象、数组、原型链、闭包等,并结合实际示例,如my.js、order.js、login.js等文件,来讲解其在实际项目中的应用。...
这些只是JavaScript学习笔记的一部分,深入理解并熟练运用这些概念,将为JavaScript编程打下坚实的基础。随着学习的深入,还会接触到更多高级特性和框架,如闭包、原型链、AJAX、jQuery、Vue.js、React.js等,这些都...
在这篇学习笔记中,我们将深入探讨JavaScript中的数据操作和函数作用域。 首先,我们要明白JavaScript中的数据类型分为基本数据类型(如Number、String、Boolean、Null、Undefined和Symbol)和对象数据类型(如...
"Javascript学习笔记(传智播客视频学习笔记+代码)"是一份全面介绍JavaScript基础知识的学习资源,适用于初学者。这份笔记结合了传智播客的web前端培训视频内容,提供了丰富的理论讲解和实践代码,帮助读者从零开始...
以上是JavaScript学习笔记中提到的一些核心知识点,通过对这些知识点的理解和熟练应用,可以为进一步学习和掌握JavaScript打下坚实的基础。在实际开发过程中,结合具体的项目需求,这些知识会得到更深入的拓展和应用...
JavaScript学习笔记——深入理解基础与函数 在JavaScript中,学习基础知识是至关重要的,因为它是所有进一步编程技巧的基础。首先,我们需要了解JavaScript中的数据类型。在JavaScript中,有五种简单的数据类型:...
例如,以下代码展示了JavaScript的函数作用域: ```javascript function test() { // a scope for(var i = 0; i ; i++) { // not a scope // count } console.log(i); // 10 } ``` 在这个例子中,尽管`for`...
### JavaScript学习笔记知识点详解 #### 一、JavaScript基础篇:数据类型 JavaScript是一种弱类型语言,它具有自动类型转换的特点,使得开发过程中更加灵活但也容易出现类型错误。本节主要介绍JavaScript中的基本...
在《JavaScript权威指南》第五版中,对变量作用域进行了深入的介绍,通过对作者的学习笔记梳理,我们可以系统地了解变量作用域相关的知识点。 首先,我们需要明确变量作用域的两个基本类型:全局作用域和局部作用域...
- **函数作用域**:在JavaScript中,只有函数可以创建新的作用域。在函数内部定义的变量和函数仅在其所在函数内部可见,不能被外部访问。如示例所示,`test`函数内的`i`变量仅在函数内部有效,全局的`console.log(i...
闭包是JavaScript中一个重要的概念,它允许函数访问并操作外部作用域的变量,常用于封装和数据隔离。异步编程在JavaScript中尤为重要,包括回调函数、Promise、async/await等,它们解决了JavaScript单线程环境下处理...
函数作用域的创建是在函数调用时,每个函数都有自己的作用域链,这个链指向当前作用域(函数内部)以及它的父作用域(通常是全局作用域)。在函数内部,如果无法找到某个变量,JavaScript会沿着作用域链向上查找,...
学习JavaScript,首先要掌握基础语法,包括变量、数据类型(如字符串、数字、布尔值、数组、对象等)、控制流(如条件语句、循环结构)、函数和作用域。了解闭包和原型链是深入理解JavaScript的关键,它们对于函数的...
JavaScript是一种广泛应用...以上就是JavaScript学习笔记中的主要知识点,理解和掌握这些内容对于深入学习JavaScript至关重要。在实际编程中,还需要结合具体的场景灵活运用,并不断实践和探索更高级的特性和最佳实践。
8. **闭包**:理解闭包的概念及其在内存管理、模块化和函数作用域中的应用,是进阶学习的重要部分。 9. **面向对象编程**:JS支持基于原型的面向对象,包括构造函数、原型链、继承等概念。 10. **JavaScript框架和...