用中文编写javascript代码

群里有人出了道题,问能不能用javascript来计算。
用递归可以很方便的解决这个问题,可是要写不少命名,那么能不能用中文来写javascript呢。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var 人  = {数量: 5, 腿: 2},
    大猫 = {数量: 5, 腿: 4},
    小猫 = {数量: 5, 腿: 4},
    鼠  = {数量: 5, 腿: 4};

var 算腿 = function (谁, 带的那谁) {
    var 腿    = 0,
        谁的数量 = 谁.数量;

    while (谁的数量 >= 1) {
        腿 += 谁.腿;

        // 如果有[带的那谁],就递归
        if (带的那谁) {
            腿 += 算腿(带的那谁);
        }

        谁的数量 -= 1;
    }

    return 腿;
};

var 到底TM有多少条腿 = function (所有的东西) {
    var 腿 = 0;

    腿 += 算腿(所有的东西[0], 所有的东西[1]);

    // [谁]和[带的那谁]的计算完了,下一个
    所有的东西.shift();

    // 如果还有东西,就递归
    if (所有的东西.length >= 2) {
        腿 += 到底TM有多少条腿(所有的东西);
    }

    return 腿;
};

到底TM有多少条腿([人, 大猫, 小猫, 鼠]);

// 有人说少算了个腿,那 🐴 = {数量: 1, 腿: 4}

看起来用中文描述挺方便的(想起了易语言),只是.. 🙊