Javascript对象创建实践

时间:2016-05-13 00:26:42

标签: javascript

这是我认为最适合在js中制作对象的方法

    function obj(){
        var x = "hi";
        this.getX(){return x;}
    }
    var y = new obj()
    console.log(y.x); //this returns undefined

但是从我所看到的,使用this.variable在对象创建中更常用。

我在java中思考类中的东西应该是“私有的”(注意我已经读过关闭),这是否适用于js?

什么被认为是对象创建的最佳方式?

1 个答案:

答案 0 :(得分:4)

听起来您正在尝试将Java概念应用于JavaScript,但在JS中完全不同。你应该看看MDN article on JavaScript closures.

闭包中存在

var 变量。可以从同一范围内声明的任何函数访问它们。

var me = 'hello';
function someFunction() {
    console.log(me); 
}
someFunction(); //prints 'hello' to console

变量可以在结果对象中直接访问,甚至在范围之外。

function someFunction() {
    this.me = 'hello';
}
var instance = new someFunction();
console.log(instance.me); //prints 'hello' to console