已决定number类型不允许为null, 打算先做一个JavaScript上的实现.

number类型是否允许为null, 的确是很头疼的问题.

Parallet的目标是脚本语言. (但它也可预先编译代码)

很多脚本语言的所有类型都允许为null的.

但是为了让number为null, 要付出的代价实在是太大了.

就按我的经验, number需要为null的情况, 非常非常少.

如果某些场合需要允许传递null, 大不了可以定义参数为var便可.

(虽然那样的话允许传递任何类型)

-

现在DotNet的版本依然有很多工作.

考虑到最近实在太忙, 这样进展太慢也不是办法.

-

Parallet要发展起来, 必须需要实在的项目用来支持它.

我是打算实现了DotNet的版本后, 先做一个P2P的项目用来验证, 然后再推出Web框架.

但是这个过程太漫长了.

现在HTML5太流行, JavaScript的不足和进展缓慢让人很遗憾..

就在自己的需求角度来看,  值得先在JavaScript上实现Parallet.

在JavaScript上实现Parallet, 将会对Parallet有以下好处:

1 - 可在主流浏览器上运行, 用于补充JS的不足, 可建立更强的HTML/AJAX应用. 

2 - 可直接在V8引擎上,配合C/C++, 实现任何非HTML应用.

3 - Parallet它自身不需要考虑JIT. 只需要解释执行或编译成JS即可.
    这个特征可以完全兼容不JIT的浏览器/设备, 如果浏览器/设备支持JIT后, Parallet直接得到好处.

4 - 可以用作移动设备的开发. 例如IPHONE.

只要我自己也用Parallet, 让它为我带来好处, 那么即使它进度再慢, 也不会被放弃掉.

-

现在要实现JS版本的Parallet, 唯一的设计难点就是同步函数的问题.

Parallet默认是异步函数. 但是在JS上实现的话, 需要非常紧密地与JS/DOM进行交互.

JS/DOM的函数是同步的. 这样就有兼容性问题. 简单来说, 就是

btn.οnclick=MyParalletFunction;

由于MyParalletFunction是异步的,

那么MyParalletFunction里的逻辑, 异步执行时, onclick的event就会失效.

并且也不能给onclick指定返回值.

要解决这个问题, 可能需要强制引入关键字 synchronous:

synchronous function MyParalletFunction(event)
{

  return false;
}

定义了synchronous的函数, 是'显式'的, 是不允许调用任何异步函数的.

它只能调用显式或隐式的synchronous函数.

如果它调用的隐式synchronous函数, 因为修改代码自动变成异步函数,

那么新的代码将产生编译错误, 用来保证程序员明确知道如何处理.

转载于:https://www.cnblogs.com/parallet/archive/2011/07/11/2102737.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值