动态数据类型 笔记
来源:互联网 发布:有hao123软件 编辑:程序博客网 时间:2024/06/04 00:49
动态类型声明,是指语言的变量是无类型的,只有当它们被赋值后才会具有某种类型;
动态空间分配,是指变量在赋值时才会为其分配空间。
把这两种特性换成现在通常的概念,就是:变量可以理解为一个无类型指针,只有在指针被分配一个确定的内存空间时,才可以获知该指针指向内存区的大
小,以及可能的数据类型(*)。
“动态执行”是指可以随时载入一段源代码文本并执行它。因此一
种有“动态执行”能力的动态语言,需要解释系统的支持。
动态执行系统一般依赖于解释和即时编译系统。
脚本系统的两个条件:
脚本描述规则(不一定是语法)
脚本解释和执行环境
解释而非编译:JavaScript是解释执行的,它并不能编译成二进制文件。
可以重写标识符:可以随时重写(除关键字以外的)标识符,以重新定义系统
特性。这种特性也被称为“动态绑定”,但JavaScript重写的性质,比动态绑
定所能做的更多。
其它的一些来自于动态语言系统自身的定义的特性,包括:
动态类型系统:JavaScript在运算过程中会根据运算符的需求或者系统默认的
规则转换运算元的数据类型。此外,变量在声明时是无类型的,直到它被赋予
某个有类型含义的值。所以JavaScrpt既是弱类型,也是动态类型的。
动态执行:JavaScript提供eval()函数,用于动态解释一段文本,并在当前上
下文环境中执行。
丰富的数据外部表示:通常情况下你总是可以将一个变量序列化成字符串。
而反过来,你也总是可以通过直接量的方式来声明或创建一个数据。
而在JavaScript中,动态执行的对象是“代码文本”,它将装载与执行分成
两个阶段。对于后者来说,执行的只是一个字符串文本,至于该字符串文本是
来自internet,还是本地文件,并不是动态执行系统所密切关注的。
动态装载在JavaScript中是由宿主提供的能力。例如在WSH中提供了FileSystem对象来装载本地文件,而
在浏览器环境中提供了XMLHttpRequest,对象来装载文件——这正是Ajax在浏览器环境中得以实现的基础。
- 动态数据类型 笔记
- 动态数据类型和静态数据类型
- 数据类型笔记
- 动态库接口数据类型
- 动态SQL中的数据类型
- python数据类型&动态类型
- C 【数据类型 静态&动态】
- 什么是动态数据类型
- 动态数据类型转换
- C++学习笔记(第七章 自定义数据类型 动态链表应用 之四)
- redis源码分析笔记2- redis的数据类型-动态字符串sds
- char数据类型的动态数组
- Python——动态数据类型
- Python变量与动态数据类型
- 数据类型转换笔记
- 学习笔记-Geodatabase数据类型
- 基础复习笔记--数据类型
- 复习笔记-数据类型2
- Linux设备模型(中)之上层容器 (转)
- 常见设计模式之【适配器模式】
- windows下的dll文件和linux下的.so文件
- maven 配置
- Android 报错 - 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
- 动态数据类型 笔记
- android学习之一 工程目录认识
- socket编程:SO_REUSEADDR例解
- 小满的博客cocos2d-x
- Qt 类简介之 Qt QApplication 类
- 【系统运维】单线程和多线程的几个疑问与解答。
- 错误:ora-12162 网络服务名错误的指定
- poj 1182 (带权并查集)
- openoffice各模块介绍(中文版)