You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript函数的形参是否是通过var关键字声明的?

JavaScript函数的形参是否是通过var关键字声明的?

可以通过两个变量核心特性交叉验证推导结论:

  • 从重新赋值特性初筛
    JavaScript声明变量的关键字共三类:var、let、const。const声明的变量不支持重新赋值,而函数形参支持重新赋值,首先可以排除const,初步判断形参的声明逻辑和var或let一致。
    对应验证代码:
    function test1(a) {
        a = 3 // 形参重新赋值
        console.log('a', a) // 输出3,运行正常
    }
    test1(3)
    
  • 从重复声明特性确认
    let声明的变量有严格的同作用域重名校验,重复声明会直接抛语法错误;var则没有这个限制,支持同作用域下重复声明同名变量。
    实际测试可知,函数内部可以直接用var重复声明和形参同名的变量,运行全程无报错,这一表现完全匹配var的声明特性,因此可以确定:函数形参的声明逻辑等价于通过var关键字声明。
    对应验证代码:
    function test1(a) {
        var a = 1 // 用var重复声明同名形参
    }
    test1(3) // 运行无任何报错
    

内容的提问来源于stack exchange,提问作者J.kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 01:51:19