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 在语法上有一些共通之处,但由于它们的设计目标和应用场景不同,在很多方面也存在明显差异。

相关推荐
小裴(碎碎念版)6 分钟前
文件读写常用操作
开发语言·爬虫·python
TextIn智能文档云平台10 分钟前
图片转文字后怎么输入大模型处理
前端·人工智能·python
ujainu22 分钟前
Python学习第一天:保留字和标识符
python·学习·标识符·保留字
studytosky24 分钟前
深度学习理论与实战:反向传播、参数初始化与优化算法全解析
人工智能·python·深度学习·算法·分类·matplotlib
清水白石0081 小时前
《Python × 数据库:用 SQLAlchemy 解锁高效 ORM 编程的艺术》
开发语言·python·json
星依网络1 小时前
使用LabelImg工具标注数据(游戏辅助脚本开发)
python·游戏引擎·图形渲染·骨骼绑定
站大爷IP1 小时前
Appium实现Android应用数据爬取:从环境搭建到实战优化
python
IT老兵20252 小时前
PyTorch DDP多GPU训练实践问题总结
人工智能·pytorch·python·分布式训练·ddp
9527(●—●)2 小时前
windows系统python开发pip命令使用(菜鸟学习)
开发语言·windows·python·学习·pip
森叶2 小时前
手搓一个 Windows 注册表清理器:从开发到 EXE 打包全流程
windows·python