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

相关推荐
fish_study_csdn2 小时前
pytest 技术总结
开发语言·python·pytest
咖啡调调。2 小时前
使用Django框架表单
后端·python·django
BO_S__2 小时前
python调用ffmpeg对截取视频片段,可批量处理
python·ffmpeg·音视频
就叫飞六吧3 小时前
如何判断你的PyTorch是GPU版还是CPU版?
人工智能·pytorch·python
pyengine4 小时前
基于pandoc的MarkDown格式与word相互转换小工具开发(pyqt5)
开发语言·python·qt·word
YuSun_WK4 小时前
配置MambaIRv2: Attentive State Space Restoration的环境
开发语言·python
Nick_zcy4 小时前
开发基于python的商品推荐系统,前端框架和后端框架的选择比较
开发语言·python·前端框架·flask·fastapi
一点.点5 小时前
李沐动手深度学习(pycharm中运行笔记)——04.数据操作
pytorch·笔记·python·深度学习·pycharm·动手深度学习
Niuguangshuo5 小时前
Python 设计模式:访问者模式
python·设计模式·访问者模式
Jamesvalley5 小时前
【Django】新增字段后兼容旧接口 This field is required
后端·python·django