今天重写了 closure 语句和点和数组存取器, 目前可以支持完整的js对象的翻译。
输入源 :
var exports = {
}
exports.createNamespace = function (ns) {
if (exports[ns]) {
return exports[ns];
}
var ps ={};
exports[ns] = {};
return exports[ns];
}
;(function () {
var cls = exports.createNamespace("test");
cls.TestModel = function () {
console.log("AAAA");
}
console.log("Define Success.\n");
console.log(cls);
})();
exports.test.TestModel();
输出
var exports = $new(null);
exports.createNamespace=function (ns) {
if($objget(exports,$hash(ns))){
return $objget(exports,$hash(ns));
}
;
var ps = $new(null);
;
$objset(exports,$hash(ns), $new(null));
return $objget(exports,$hash(ns));
}
var m1523282074685405919266 = function () {
var cls = exports.createNamespace ("test");
;
cls.TestModel=function () {
$print ("AAAA")}
;
$print ("Define Success.\n");
$print (cls)}
;
m1523282074685405919266 ()
exports.test.TestModel ()
执行结果:
成功