面试题-javascript-面向对象编程
2024-09-01 08:28:17
笔者在某次笔试中遇到这个题:印象很深。
function ClassA() {
var value=4;
this.getValue= function()
{
return value;
}
this.setValue= function(value)
{
this.value=value;
}
}
var classa = new ClassA();
document.write(classa.getValue());
classa.setValue(1);
document.write(classa.getValue());
document.write(classa.value);
写出输出结果
开始以为是411
回来运行发现是441
原因:
ClassA.value 其实就是ClassA.prototype.value,同时this.value 也是这个变量。
那么getValue输出value(4),setValue把this.value改成(1,原本应该是0),然后第二个getValue输出value(4),classa.value 就是1了。
最新文章
- 异步select
- Struts2入门(一)——环境搭建和简单例子(Struts2 2.5.2版本)
- psp个人软件开发
- Mybatis中SqlMapper配置的扩展与应用(1)
- EF – 7.一对多关联
- 团队作业-第一周-NABCD竞争性需求分析
- WebApi 消息拦截
- epoll 简单介绍及例子
- Android打造带透明圆弧的ImageView
- php的各种配置
- 解决Qt5 Creator无法切换输入法(fcitx),不能录入汉字问题
- VoiceEngine获取硬件信息
- 在windows环境下更改某软件的窗口位置
- Netty多人聊天室
- 【Java并发核心九】并发集合框架
- angularjs $$phase
- jmeter 使用csv文件 注意项
- kali linux web程序集简述
- synchronized和volatile
- GC日志时间分析