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

相关推荐
AI蜗牛之家1 小时前
Qwen系列之Qwen3解读:最强开源模型的细节拆解
人工智能·python
whyeekkk2 小时前
python打卡第48天
开发语言·python
Eiceblue4 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
weixin_527550404 小时前
初级程序员入门指南
javascript·python·算法
程序员的世界你不懂4 小时前
Appium+python自动化(十)- 元素定位
python·appium·自动化
CryptoPP5 小时前
使用WebSocket实时获取印度股票数据源(无调用次数限制)实战
后端·python·websocket·网络协议·区块链
树叶@5 小时前
Python数据分析7
开发语言·python
老胖闲聊6 小时前
Python Rio 【图像处理】库简介
开发语言·图像处理·python
码界奇点7 小时前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
浠寒AI7 小时前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python