https://www.nodeloc.com/d/26815 我提到了标签语法,刚刚好我之前看见过有人尝试整一个js和py都可以跑的文件
我按照他的思路复原了一下,下面这个代码无论是py执行还是nodejs执行都会打印 hi
1 // (lambda: print('hi') or 1)()
lambda: console.log('hi')
让我告诉你这代码干了什么,首先//
在js是注释,在py是向下取整除法,让我们一段一段分开……
1 // (lambda: print('hi') or 1)()
JavaScript: 相当于表达式 1 ,因为后面的内容是注释
Python: 1 除以一个函数,而后面的函数是打印 hi 然后返回1(评估函数),变成 1 // 1
再加上 print('hi')
lambda: console.log('hi')
JavaScript: lambda:
被看成标签,直接执行 console.log('hi')
Python: 构建了一个评估函数,但是没有执行
B站有关于这个的详细介绍