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


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

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

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

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

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

     Int a

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


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

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

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

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

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

     从引用的概念上说是指向对象实际位置的指针;但是在JavaScript里出现了(在C++语言未出现,并且明文规定不可以建立引用的数组)原因(个人):数组名只代表数组的首地址,本身不是一个占有存储空间的变量

    例如:

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

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

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

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

    Items.push(“items4”);

  • 相关阅读:
    go语言时间格式化----go语言学习笔记(二)
    go语言模拟post请求----go语言学习笔记(一)
    beego框架配置mysql
    django---request在url中传值请求其他服务的get请求,获取请求头
    nginx+uwsgi+ubuntu 部署django
    集成jenkins自动安装apk文件
    python数据可视化之flask+echarts(二)
    httpd 2.2 实验小结
    CentOS 6安装详解及PXE 安装
    有关安全知识点及实验小结
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3568956.html
Copyright © 2020-2023  润新知