javascript比较出彩的运用之一:作用域链。
1、对于有洁癖的前台人员来说,全局变量就像长在美女脸上的黑斑,真的无法容忍。
2、《javascript权威指南》说的那样,javascript内部类嵌套越来越被广泛运用,是一种编码趋势。
所以我们用作用域链这种技巧来为我们的美人除斑吧。
下面举个例子,带点jQuery的色彩,不爽者可以将$和jQuery去掉,其实是一样地。
定义一个命名空间(典型的作用域链):
(function($)
{
var item1 = 0;
var item2 = 0;
globalItem.doAction={
send:function(){
item1 = 1;
},
complete:function(){
console.log(item1);
},
...
}
}(jQuery));
将所有的全局变量都放在一个js里面:
var globalItem = {};
...
以后在任何地方调用globalItem.doAction.send()之后,再调用globalItem.doAction.complete(),你就会发现,打印的item1
的值是1,而不是初始化的0;
这样做,省掉了item1这个全局变量,同时函数是全局变量的一个属性,不再是全局函数,
也相当于省掉了一个全局变量,并便于分类及管理。
分享到:
相关推荐
在JavaScript编程中,作用域链和闭包是两个至关重要的概念,它们对于理解代码执行机制以及函数内部如何访问和管理变量至关重要。让我们深入探讨这两个概念。 首先,**作用域链**是JavaScript中的一种机制,它定义了...
在JavaScript中,每个函数都有一个作用域链,它决定了函数在查找变量时的顺序。作用域链由当前执行环境(可能是函数内部或全局)的变量对象以及所有父级作用域的变量对象构成。当尝试访问一个变量时,解释器会在当前...
通过这些例子,开发者将能更直观地看到作用域规则的实际应用,并学会在实际项目中灵活运用。 总结来说,对象的作用域是编程中不可或缺的一部分,它决定了对象的可见性和生命周期。深入理解和熟练掌握对象作用域,...
在JavaScript中,函数扮演着至关重要的角色,它们不仅仅是代码块,更是数据的一种形式。JavaScript的灵活性使得函数可以作为变量、对象的方法甚至构造...在实际编程中,灵活运用这些特性可以解决许多复杂的编程问题。
JavaScript中的作用域和上下文是编程时必须理解的关键概念,特别是在JavaScript这种动态类型的脚本语言中。作用域决定了变量的可见性和生命周期,而上下文则与`this`关键字的值有关,它指定了当前执行代码的对象。 ...
在JavaScript的世界里,作用域决定了变量的可见性和生命周期,而闭包则是一种高级特性,它允许函数访问并操作其外部作用域的变量,即使在外部作用域已经结束之后。 首先,我们来深入理解一下“作用域”。在...
JavaScript通过作用域链解决自由变量的查找问题,作用域链连接了当前作用域与上层作用域,允许在不同作用域中访问变量。 (15)——闭包 闭包是JavaScript中一种强大的特性,它允许函数访问并操作其词法作用域内的...
在本文中,我们将深入探讨JavaScript的灵活运用,揭示其在实际开发中的强大功能。 首先,JavaScript的核心特性之一是其动态类型。这意味着变量的数据类型可以在运行时改变,这为开发者提供了极大的灵活性。例如,你...
在JavaScript编程语言中,原型(Prototype)、作用域(Scope)和闭包(Closure)是三个核心概念,对于理解和编写高效、可维护的代码至关重要。本文将深入探讨这三个概念,并通过实例解析它们的工作原理。 首先,...
作用域链是由多个作用域组成的链表,用于确定变量的查找顺序。当函数试图访问某个变量时,它会沿着作用域链逐级查找,直到找到该变量为止。 - **示例:** 函数`d`位于函数`b`内,它可以访问到函数`b`内的变量`c`。...
作者详细解析了JavaScript中的方法和类,并探讨了如何在不同场景下灵活运用函数,包括高阶函数和闭包,这些都是JavaScript中强大的功能。 第四章主要讨论原型和对象,这是理解JavaScript继承机制的关键。通过解释...
首先,我们要理解JavaScript的作用域链。每个函数在创建时,都会形成一个作用域链,这个链由当前执行环境和所有父级执行环境的变量对象组成。当查找变量时,会沿着作用域链从最前端(当前作用域)向后查找,直到找到...
在编程过程中,代码复用是提高开发效率和代码质量的重要手段之一。在JavaScript中,封装是一个将一些具有相似功能的代码组合在一起形成...在实际开发中,合理运用封装和作用域的知识,可以使我们的代码更加优雅、高效。
4. **闭包**:闭包是JavaScript中一个非常重要的概念,它允许函数访问并操作其外部作用域的变量,即使在其外部作用域已经结束时仍然可以保持这些变量的状态。 5. **原型和原型链**:JavaScript对象具有原型,可以...
- **作用域链的初始化:** 当函数被创建时,它的作用域链被初始化,包含当前作用域以及所有父作用域,直到全局作用域。 - **执行上下文的作用域链:** 当函数执行时,会创建一个执行上下文,其中包含了一个新的作用...
函数还有作用域的概念,包括全局作用域和局部作用域,以及ES6引入的块级作用域。 JavaScript的对象是键值对的集合,可以使用字面量语法创建。对象可以通过引用来传递,而不是复制,这种特性使得对象在JavaScript中...
### JavaScript:对象与原型链教程 #### 一、概述 本教程旨在深入解析JavaScript中对象的概念及其核心机制...通过本教程的学习,你应该能够更好地掌握JavaScript的核心特性,并能够在实际开发中灵活运用这些知识。
JavaScript有两种作用域:全局作用域和函数作用域。在函数内部声明的变量仅在该函数内部可见。ES6引入了块级作用域,通过let和const关键字实现,但函数作用域仍然独立于块级作用域。 七、闭包 闭包是指函数可以访问...
二、作用域和作用域链 作用域是指在程序中定义变量的区域,它决定了变量的作用范围。在JavaScript中,函数作用域允许在函数内部定义的变量只能在函数内部访问,外部是无法访问的。作用域的创建发生在函数定义时,而...
- 作用域链允许在当前作用域找不到变量时,向上搜索父级作用域直至全局作用域。 7. **作用域与执行上下文的区别**: - 函数执行上下文在调用时创建,作用域在函数声明时创建。 - 函数作用域包含多个可能的执行上...