这两种语言似乎与我非常相似。尽管Python支持实际的类而不是基于原型的类,但Python类与生成包含值和函数的对象的函数没有什么不同,就像在JavaScript中一样。另一方面,JavaScript仅支持浮点数和字符串作为内置数据类型。
这对我来说似乎是相当浅薄的差异,所以除了这些之外,它们之间有什么更重要的区别?
答案 0 :(得分:33)
var
关键字,ECMAScript中的隐式全局变量,两者都是词法范围的undefined
,抛出异常switch
语句,但我们鼓励您以这种方式使用字典,有时它方便地为lambda指定属性并执行它们yield
语句,也没有let
表达式/语句,也没有array comprehension
- 但是这些都包含在Mozilla的非标准JS中raise
vs throw
,except
vs catch
(Python,JS)and
,is
和not
i++
Object.prototype
继承的原型属性new
运算符来创建对象我从http://hg.toolness.com/python-for-js-programmers/raw-file/tip/PythonForJsProgrammers.html
中偷了一大堆信息答案 1 :(得分:6)
键入:Javascript和Python都是动态类型,而javascript是弱,python 强烈类型。
答案 2 :(得分:5)
在python中,“self”显式传递给成员函数,并不是特殊的关键字或任何东西。 在javascript中,“this”是动态范围的。你可以通过调用apply()来调整成员函数的范围。
答案 3 :(得分:5)
我将添加一些我还没有看到的提及:
JavaScript对象/数组支持这种很酷的功能,在创建新对象时不需要引用(单字)字符串:
var foo = {bar:“baz”};
除了括号表示法之外,可以使用点表示法来访问JavaScript中的关联数组键。也就是说,这些是相同的:
foo.bar; //返回“baz”
FOO [ “酒吧”]; //返回“baz”
Python的匿名函数(lambda
)语法不如JavaScript的匿名函数灵活。
答案 4 :(得分:2)
作为一名JavaScript开发人员并完成了一些Python工作(感谢Google App Engine)我会说JavaScript和Python之间的两个主要区别是
格式。 JavaScript并不关心代码的外观(考虑所有代码最小化器以及结果如何)
Unicode支持。 JavaScript一直是unicode,GAE的Python 2.5并没有那么多(将Latin 1作为默认字符集)。因此,如果您不确定自己在做什么,那么需要支持非拉丁字符可能是真正的PITA。
答案 5 :(得分:1)
在Python中,空白是语言的一部分。在Javascript中,大括号定义代码块,并忽略空格。此外,Python还具有Java API,.net和其他酷炫图书馆的绑定。与Python相比,Javascript在库部门中相当有限,但它有一些简洁的窗口库等。