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

相关推荐
鄃鳕1 天前
python 字典 列表 类比c++【python】
c++·python
可触的未来,发芽的智生1 天前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
程序员三藏1 天前
Jmeter接口测试与压力测试
自动化测试·软件测试·python·测试工具·jmeter·接口测试·压力测试
烛阴1 天前
用 Python 揭秘 IP 地址背后的地理位置和信息
前端·python
大宝剑1701 天前
python环境安装
开发语言·python
Element_南笙1 天前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
倔强青铜三1 天前
苦练Python第69天:subprocess模块从入门到上瘾,手把手教你驯服系统命令!
人工智能·python·面试
倔强青铜三1 天前
苦练 Python 第 68 天:并发狂飙!concurrent 模块让你 CPU 原地起飞
人工智能·python·面试
星期天要睡觉1 天前
深度学习——循环神经网络(RNN)实战项目:基于PyTorch的文本情感分析
人工智能·python·rnn·深度学习·神经网络
ERROR_LESS1 天前
【ADS-1】【python基础-2】基本语法与数据结构(列表、字典、集合)
python