pythonjavascript的区别

python和Javascript都是脚本语言,所以它们有很多共同的特性,都需要解释器来运行,都是动态类型,都支持自动内存管理,都可以调用eval()来执行脚本等等脚本语言所共有的特性。

然而它们也有很大的区别,Javascript这设计之初是一种客户端的脚本语言,主要应用于浏览器,它的语法主要借鉴了C,而Python由于其“优雅”,“明确”,“简单”的设计而广受欢迎,被应用于教育,科学计算,web开发等不同的场景中。

编程范式

Python和Javascript都支持多种不同的编程范式,在面向对象的编程上面,它们有很大的区别。Javascript的面向对象是基于原型(prototype)的,对象的继承是由原型(也是对象)创建出来的,由原型对象创建出来的对象继承了原型链上的方法。而Python则是中规中矩的基于类(class)的继承,并天然的支持多态(polymophine)。

python中

01classEmployee:

02'Commonbaseclassforallemployees'

03empCount=0##类成员

04

05def__init__(self,name,salary):

06self.name=name

07self.salary=salary

08Employee.empCount+=1

09

10defdisplayCount(self):

11print"TotalEmployee%d"%Employee.empCount

12

13defdisplayEmployee(self):

14print"Name:",self.name,",Salary:",self.salary

15##创建实例

16ea=Employee("a",1000)

17eb=Employee("b",2000)

JavaScript中

varempCount=0;

02//构造函数

03functionEmployee(name,salary){

04this.name=name;

05this.salary=salary;

06this.empCount+=1;

07}

08

09Employee.prototype.displayCount=function(){

10console.log("TotalEmployee"+empCount);

11}

12

13Employee.prototype.displayEmployee=function(){

14console.log("Name"+this.name+",Salary"+this.salary);

15}

16//创建实例

17varea=newEmployee("a",1000);

18vareb=newEmployee("b",2000);

因为是基于对象的继承,在Javascript中,我们没有办法使用类成员empCount,只好声明了一个全局变量,当然实际开发中我们会用更合适的scope。注意Javascript创建对象需要使用new关键字,而Python不需要。

除了原生的基于原型的继承,还有很多利用闭包或者原型来模拟类继承的JavascriptOO工具,因为不是语言本身的属性,我们就不讨论了。

以上内容为大家介绍了python培训之javascript的区别,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们

推荐阅读