Open Swift 和 JavaScript 对比分析
标签(空格分隔): JavaScript
项目 | JavaScript | Open Swift |
---|---|---|
基本类型 | 字符串 数字 布尔值 数组 对象 undefined null | 字符串 数字 布尔值 JSON 函数 空 |
JSON规则 | 并列数据的集合(数组)用方括号[] 表示 映射关系的集合(对象)用花括号{} 表示 |
并列数据和映射关系的集合都用方括号[] 表示 |
变量定义 | var指定变量生存在当前变量空间 若不指定变量生存在全局变量空间 |
var unique local 必须指定 |
多值赋值 | 不支持 | 支持var (p1, p2, p3) = (-1111, 2, 6666);
|
运算符重载 | 不支持 | 支持 |
for in |
for(index in array) for(key in object)
|
for(var value in JSON) for(var (key, value) in JSON)
|
switch case | 支持 | 不支持 |
多返回值函数 | 不支持 | 支持var(x, y, size) = getPoint();
|
函数返回值 | 7种基本类型和函数 | 6种基本类型 |
函数参数 | 7种基本类型和函数 | 6种基本类型 |
函数的反射 | arguments对象 | FUNCTION_name PARAM PARAM_length |
函数的重载 | 不支持 | 不支持 |
类的显示定义 | 不支持 | 支持 |
核心类机制 | 原型链 | 对象克隆 |
类的继承 | 原型链 | 对象克隆 |
类的实例 | 通过原型链创建对象 | 对象克隆 |
类的封装和访问控制 | 不支持 | 不支持 |
多态 | 不支持 | 不支持 |
类的反射 | 原型链 | CLASS_name CLASS_PARENT_name FIELD_length |