Todo
已经实现的特性会从本文档中移出。
Extend Method 拓展方法
头脑风暴
基本规则有:
当一个拓展方法和本对象的方法重名的时候, 会调用本对象的方法,而忽略扩展方法
声明一个拓展方法 并不需要什么特别的标识
任何非类内部的方法 都会视为拓展方法笔者觉得这样似乎会产生巨大得性能消耗。。寻找拓展方法会按照顺序查找, 当存在多个同名的方法的时候, 会使用最先找到的方法。当拓展方法重复得时候,会进行报错
参数的传递规则:
如果拓展方法只有一个参数, 则自动传入当前对象。
如果拓展方法有两个及以上的参数个数, 则对比传入参数的个数。
当个数相同的时候, 则会忽略当前对象,直接传入具体的参数值。
当个数不同的时候, 则会将方法的第一个参数 传入为当前对象,其他参数依次向后追加。
闭包
虽然我也不知道闭包是啥。。 但是应该就是类似的这个东西把。。
目前函数内部能返回lambda
表达式, 但是带有参数变化的闭包 没有办法实现。
变量空间的封闭
目前变量可以穿透生命周期的限制, 如果不需要这个特性,则需要编写大量的 local
声明, 这违背了我想快速开发的原则。。
目前有两个标记 可以控制 变量,函数,类的访问。
restrict
是否对当前环境限定, 在限定之后,则不会去父级环境查找close
当前环境是否关闭, 如果关闭,则不允许别的环境引用当前环境的变量
在合适的时机需要对这部分代码进行重构, 附加函数返回值部分的代码。
下面内容仍然需要考虑一下
并添加 ref
关键字的特性,使之能引用外部的变量。 或者使用 *
操作符来引用。
local 声明的变量在环境解除的时候也删掉内存使用
Last updated
Was this helpful?