开发者社区> 问答> 正文

JavaScript 面向对象的问题

笔试的时候遇到这个题

  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);

为什么输出结果是441

展开
收起
小旋风柴进 2016-03-18 10:11:18 1783 0
1 条回答
写回答
取消 提交回答
  • this.value 是实例属性 每个实例独有且不相同,var value 其实就是局部变量 实例通过属性访问器.访问不了 它不是原型属性ClassA.prototype.value 是原型属性 所有的实例都共享该属性 可以通过属性访问器.访问 所以以上的说法不准确

    2019-07-17 19:05:59
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载