前文 https://www.v2ex.com/t/652219
一个解释器的小玩具,经过我一个多月业余时间的开发,现在终于支持大部分 JS 的核心功能了,除了对象。
现在已经图灵完备,基本上可以算的上一个阉割版 js 了
举个例子:解释执行一个快排函数:)
function quickSort(list,len) {
let a = 0;
let b = len-1;
let c = list[a];
while (a < b){
while (list[b]>c && a < b){
b = b-1;
}
if(list[b] < c){
list[a] = list[b];
list[b] = c;
b = b-1;
c = list[b];
}
while (list[a] < c && a < b){
a = a + 1;
}
if(list[a] > c){
list[b] = list[a];
list[a] = c;
a = a + 1;
c = list[a];
}
}
return list;
}
let arr = [9,3,2,1,5,-2,6];
quickSort(arr,7);
log(arr,666);
https://github.com/zuluoaaa/makeJs
最终跑通的那一刻,感觉整个人都嗨翻了
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.