引用reference做用域scope闭包closure上下文context用法

引用(reference)、做用域(scope)、闭包(closure)以及上下文(context)是JavaScript重中之重的基础,也是学习好JavaScript的基础。在这里我以浅显的理解给你们分享一下:编程

1、首先说明下引用(定义):引用是指向一个对象实际位置的指针;数组

说明:在这里你们也许这话不大好理解,浅显地说:“引用” = “别名”。(我想)也就是在编程语言给变量、对象…..等起个名称,以便于在须要的时候进行调用。闭包

变量也是对象,那下面就以变量简单的事例为例编程语言

例如:假若有个变量 a, 想在下次用的时候引用它,给它起个别名 b函数

 

 Int a学习

   Int &b =a//记住:指向 对象实际位置的指针。(嘿嘿若是你对指针很理解,那下面就不用看了,编程嘛,学习不会的知识)spa


 注意 1:在这里是对变量的引用,内存并不为它开辟实际的内存单元,b对表明同一变量单元,在申明一个引用时,必须同时使之初始化。(只有申明,没有定义,只是申明它和原有的某一变量的关系。在引用时 a 两值同时随之其中之一的变化而变化)。指针

注意2:在你申明一个引用后(b,该引用一直与其表明的变量相联系,不能再做为其它变量的别名(一一对应)。对象

 

2、学习了引用,下面理解下引入引用的目的:ip

一句话:利用其做为函数的参数,以扩充函数传递数据的功能。(在下一篇文章里详细比较了参数传递的形式)

在这里出现一个我目前很不明白的现象(但愿读者赐教,不胜感激):

 从引用的概念上说是指向对象实际位置的指针;可是在JavaScript里出现了(在C++语言未出现,而且明文规定不能够创建引用的数组)缘由(我的):数组名只表明数组的首地址,自己不是一个占有存储空间的变量

例如:

///创建一个数组的对象

Var items new { items1, items 2, items 3};

Var itemRef = items;//数组对象的引用

//将一个元素添加到数组中

Items.push(“items4”);

相关文章
相关标签/搜索