数据类型、变量、内存、对象、函数

数据类型

  • 分类

    • 基本(值)类型

      • Number

        • 任意数值
      • String

        • 任意字符串
      • Boolean

        • true/false
      • undefined

        • undefined
      • null

        • null
    • 对象(引用)类型

      • Object

        • 任意对象
      • Function

        • 特别的对象(可以执行)
      • Array

        • 特别对象(内部数据有序/数据下标)
  • 判断

    • typeof

      • 数值/字符串/布尔值/undefined/function
      • 不能区别:null与Object, Object和Array
    • instanceof

      • 判断对象的具体类型(t/f) A是否为B的实例
    • ===

      • null/undefined(t/f)
  • 相关问题

    • undefined与null的区别

      • undefined:定义未赋值
      • null:定义并赋值,值为null
    • 什么时候将变量赋值为null

      • 初始赋值,表面将要赋值为对象
      • 结束前,让对象成为垃圾对象(被垃圾回收器回收)
    • 严格区别变量类型与数据类型

      • 数据的类型

        • 基本类型
        • 对象类型
      • 变量的类型

        • 基本类型:保存的是基本类型的数据
        • 引用类型:保存的是地址值

数据、变量与内存

  • 什么是数据

    • 储存于内存中代表特定信息,本质是0101二进制

    • 可读和可传递的基本特征

    • 一切皆数据

    • 程序中所有操作的目标:数据

      • 算术运算

      • 逻辑运算

      • 赋值

      • 调用函数传参

        • 形参本质:局部变量
        • 实参本质:变量的值就是数据
  • 什么是内存

    • 内存条通电后产生的储存空间(临时的)

    • 产生和死亡:内存条(集成电路板)–>通电–>产生一定容量的存储空间–>存储各种数据–>断电–>内存全部消失

    • 内存空间是临时的,硬盘的空间是持久的

    • 分配内存:声明变量和函数或创建对象时,JS引擎会自动为此分配一定大小的内存来存放对应的数据

    • 内存释放:清空内存中的数量,标识内存可以再分配使用(内存不释放就不能复用0

      • 自动释放:栈空间的局部变量
      • 垃圾回调器回调:堆空间的垃圾对象
    • 一块内存包含两个数据

      • 内部储存的数据(一般数据/地址数据)
      • 内存地址值数据
    • 内存分类

      • 栈:全局变量、局部变量(空间较小)
      • 堆:对象(空间较大)
  • 什么是变量

    • 值可以变化的量,由变量名与变量值组成
    • 一个变量对应一块小内存,变量名用来查找内存,变量值是内存中保存的内容
  • 三者之间的关系

    • 内存是一个容器,用来存储程序运行需要操作的数据
    • 变量是内容的标识,我们通过变量找到对应的内存,进而操作(读/写)内存中的数据
  • 相关问题

    • 关于赋值与内存的问题 var a=xxx

      • xxx是一个基本数据
      • xxx是一个对象
      • xxx是一个变量
    • 关于引用变量赋值问题

      • 2个引用变量指向同一个对象,通过一个引用变量修改对象内部数据,另一个引用变量也看得见
      • 2个引用变量指向同一个对象,让一个引用变量指向另一个对象,另一个引用变量还是指向原来对象
    • 关于数据传递问题

    • JS引擎如何管理内存

      • 内存生命周期

        • 分配需要的内存
        • 使用分配的内容
        • 不需要时将其释放/归还
      • 释放内存

        • 为执行函数分配的栈空间内存:函数执行完自动释放
        • 存储对象的堆空间内存:当内存没有引用指向时,对象为垃圾对象、垃圾回收器后门就会回收释放此内存

对象

  • 什么是对象

    • 代表现实中的某个事物,是该事物在编程中的抽象
    • 多个数据的集合(封装体)
    • 用于保存多个数据的容器
  • 为什么要用对象

    • 便于多个数据进行统一管理
  • 对象的组成

    • 属性

      • 代表现实事物的状态数据
      • 由属性名和属性值组成
      • 属性名都是字符串类型,属性值是任意类型
    • 方法

      • 代表现实事物的行为数据
      • 是特别的属性==》属性值是函数
  • 如何访问对象

    • .属性名:编码简单,但有时不能用

    • [‘属性名’]:编码麻烦但通用

      • 属性名有特殊字符
      • 属性名是变化的值

函数

  • 什么是函数

    • 具有特定功能的n条语句的封装体
    • 只有函数是可执行的,其它类型的数据是不可执行的
    • 函数也是对象
  • 为什么要用函数

    • 提高代码复用
    • 便于阅读和交流
  • 如何定义函数

    • 函数声明
    • 表达式
  • 如何调用(执行)函数?

    • test()
    • new test()
    • obj.test()
    • test.call/apply(obj)
  • 回调函数

    • 什么函数是回调函数

      • 你定义的
      • 你没有调
      • 但最终它执行了(在某个时刻或某个条件下)
    • 常见回调函数

      • dom事件回调函数(点击事件等)
      • 定时器回调函数
  • IIEF

    • 理解

      • 全称:Immediately Function Expression立即调用函数表达式
      • 别名:匿名函数自调用
    • 作用

      • 隐藏内部实现
      • 不污染外部命名空间
  • 函数中的this

    • this是什么

      • 任何函数本质上都是通过某个对象来调用的(如果没有指定就是window)
      • 所有内部函数都有一个变量this
      • 它的值是调用函数当前对象
    • 如何确定this值

      • test():window
      • p.test():p
      • new teat():新创建的对象
      • p.call(obj):obj
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VF辅导:内存变量操作命令及文件操作命令 来源:学生大 2007年11月01日 11:35   一.内存变量操作命令:   1.显示内存变量:   格式:display memory [to printer][to 文本文件名]或      list memory [to printer][to 文本文件名]   说明:   (1).两条命令功能基本相同,仅在显示方式上有所区别,前者是分页显示,后者以滚动方式显示   (2).该命令用于显示已定义的内存变量   (3).加上to printer选项,将在屏幕上显示的同时,送往打印机打印   (4).也可加上"to 文本文件名"选项,在显示的同时将结果传送给指定的文本文件保存.   例:显示已存的内存变量   在命令窗口依次输入执行以下命令,观察结果   m=123.456   n="国人"   list memory to e:\myvfp\bl.txt   执行完毕后,打开e:\myvfp,可以看到,里面多了一个b1.txt.   2.清除内存变量:   格式1:release 变量名表   格式2:release all [extended]   格式3:clear memory   说明:   (1).格式1清除变量名表指定的内存变量并释放它们所战胜的内存空间.   (2).格式2清除全部内存变量,但在程序不清除全程变量,如有extended选项,则全程变量也清除.   (3).格式3清除除系统内存变量外的全程和局部内存变量,并释放它们的内存空间.   3.保存内存变量:   格式:save to 文件名   功能:将内存变量保存到指定的文件   4.恢复内存变量:   格式:restore from 文件名   功能:从指定的文件恢复内存变量   二.文件操作命令:vfp提供了许多文件操作命令,如文件的查找,打开,关闭,复制,更名及显示等.如果你不dos基础,你会发现,和dos命令有几分相象的.   1.显示文件目录命令:   格式:dir [盘符][路径][to printer]   例如:   dir e:  &&显示e:的表信息的内容   dir *.prg  &&显示当前盘的当前目录下所有扩展名为.prg的文件目录信息    2.关闭文件:   格式1:close all   格式2:close database   格式3:close database all   格式4:close index   格式5:close tables   功能:   (1).格式1关闭除"命令窗口","调试窗口","跟踪窗口"及"帮助窗口"以外的所有内容.   (2).格式2关闭当前数据库.数据库关闭后,与此数据库相关的东西同时关闭.若没有数据库,则该命令关闭所有工作区打开的自由表及与此表相关的东西.   (3).格式3关闭所有打开的数据库及与此相关的东西.   (4).格式4关闭除结构化复合索引外的所有索引文件.   (5).格式5关闭所有打开的表及其索引文件,但不关闭数据库.   3.文件的复制:   格式:copy file 文件名1 to 文件名2   说明:   (1).该命令可复制任何类型的文件,但要求文件名必须加扩展名;   (2).该命令不能复制已打开的文件.   例:将d盘根目录下的xy子目录的as.prg复制到A盘上,文件名不变:   copy file d:\xy\as.prg to a:\as.prg   4.文件更名:   格式:rename 文件名1 to 文件名2   说明:该命令用于给磁盘文件改名,文件名一般应带扩展名.如果文件不在当前目录,应指定扩展名.对已打开的文件不能改名.改名的同时可以更换存放路径,例如:rename d:\xy\as.prg to e:\as1.prg   5.删除文件:   格式1:erase 文件名|   格式2:delete file 文件名|   说明:   (1).这两个命令都用于删除文件,完全相同.被删除的文件应事先关闭,文件名应带扩展名.如被删除的文件不在当前目录下,应指定路径名.在文件名不不允许使用通配符.   (2).若选用问号"?",半打开对话框,可从选择要删除的文件进行删除操作.例如,在命令窗口输入erase 回车,将弹出对话框.   6.显示文本文件:   格式:type 文本文件名 [to printer|to 输出文件名]   功能:执行该命令,将文本文件的内容输出到屏幕,窗口,打印机或一个文本文件.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值