JavaScript 类中公有变量与私有变量的区别及访问方式
本文解析JavaScript构造函数中公有变量与私有变量的定义区别。通过代码示例说明,使用var声明的变量为局部私有变量,而this指向的变量为公有变量。文章进一步展示了如何利用闭包机制,在构造函数内部定义返回私有变量的方法,从而实现对外部访问私有数据的目的。
JavaScript 公有与私有变量的定义
阅读相关技术文章后,整理关于JavaScript变量作用域的笔记如下:
首先观察以下代码示例1:
function car(){
var wheel = 3;//私有变量
this.wheel = 4;//公有变量
alert(wheel);
alert(this.wheel);
}
执行 var car1 = new car(); 后,控制台依次弹出结果:3 和 4。
外部访问公有变量的限制
接着看代码示例2:
function car(){
var wheel = 3;//私有变量
this.wheel = 4;//公有变量
}
var car1 = new car();
执行 alert(car1.wheel); 后,结果为:4。
利用闭包访问私有变量
var wheel = 3为局部变量,this.wheel=4为公有变量,若需访问car中的私有变量,请参阅代码3:
function car(){
var wheel = 3;//私有变量
this.wheel = 4;//公有变量
this.getPrivateVal = function(){
return wheel;
}
}
var car1 = new car();
执行 alert(car1.getPrivateVal()); 后,结果为:3。
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
