JavaScript (JS) 和 Python 语法对比

JavaScript (JS) 和 Python 都是广泛使用的编程语言,它们在语法上有一些相似之处,但也存在许多不同点。下面是对两者语法异同的详细对比:

相同点

变量声明和赋值

在 JS 和 Python 中,都可以直接声明变量并赋值,无需提前指定变量类型。

JavaScript 示例

javascript 复制代码
let num = 10;
let str = "Hello";

Python 示例

python 复制代码
num = 10
str = "Hello"

条件语句

两者都支持 ifelse if(JS)或 elif(Python)、else 条件语句。

JavaScript 示例

javascript 复制代码
let age = 20;
if (age < 18) {
    console.log("未成年");
} else if (age >= 18 && age < 60) {
    console.log("成年");
} else {
    console.log("老年");
}

Python 示例

python 复制代码
age = 20
if age < 18:
    print("未成年")
elif 18 <= age < 60:
    print("成年")
else:
    print("老年")

循环语句

两者都支持 forwhile 循环。

JavaScript 示例

javascript 复制代码
// for 循环
for (let i = 0; i < 5; i++) {
    console.log(i);
}

// while 循环
let j = 0;
while (j < 5) {
    console.log(j);
    j++;
}

Python 示例

python 复制代码
# for 循环
for i in range(5):
    print(i)

# while 循环
j = 0
while j < 5:
    print(j)
    j += 1

不同点

变量声明

  • JavaScript :有 varletconst 三种声明方式,var 存在变量提升问题,letconst 是块级作用域。
  • Python:没有专门的变量声明关键字,变量在第一次赋值时创建。

函数定义

  • JavaScript :使用 function 关键字定义函数,也可以使用箭头函数。
javascript 复制代码
function add(a, b) {
    return a + b;
}

const multiply = (a, b) => a * b;
  • Python :使用 def 关键字定义函数。
python 复制代码
def add(a, b):
    return a + b

类和面向对象编程

  • JavaScript :从 ES6 开始引入 class 关键字,但本质上还是基于原型的继承。
javascript 复制代码
class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    greet() {
        console.log(`Hello, my name is ${this.name}`);
    }
}
  • Python:是典型的面向对象编程语言,类的定义和使用更加直观。
python 复制代码
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"Hello, my name is {self.name}")

模块导入

  • JavaScript :使用 importexport 关键字进行模块导入和导出。
javascript 复制代码
// 导入模块
import { add } from './math.js';
  • Python :使用 import 关键字导入模块。
python 复制代码
# 导入模块
import math

综上所述,JavaScript 和 Python 在语法上有一些共通之处,但由于它们的设计目标和应用场景不同,在很多方面也存在明显差异。

相关推荐
毕设源码-郭学长16 分钟前
【开题答辩全过程】以 基于python电商商城系统为例,包含答辩的问题和答案
开发语言·python
black0moonlight16 分钟前
win11 isaacsim 5.1.0 和lab配置
python
知乎的哥廷根数学学派20 分钟前
基于多尺度注意力机制融合连续小波变换与原型网络的滚动轴承小样本故障诊断方法(Pytorch)
网络·人工智能·pytorch·python·深度学习·算法·机器学习
网安CILLE21 分钟前
PHP四大输出语句
linux·开发语言·python·web安全·网络安全·系统安全·php
jjjddfvv23 分钟前
超级简单启动llamafactory!
windows·python·深度学习·神经网络·微调·audiolm·llamafactory
A先生的AI之旅25 分钟前
2025顶会TimeDRT快速解读
人工智能·pytorch·python·深度学习·机器学习
程序员小远33 分钟前
完整的项目测试方案流程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
程序猿阿伟34 分钟前
《量子算法开发实战手册:Python全栈能力的落地指南》
python·算法·量子计算
雪风飞舞1 小时前
python根据音频生成柱状图
开发语言·python·音视频
学Linux的语莫1 小时前
python开发知识点
python