2016-05-16 88 views
-1

我注意到,如果我创造这样的事情函数构造函数是否可以包含非此变量?

var j = function(){ 
this.name = "Joe", 
var no = "23" //--->statement 2 
} 

我得到的错误 VAR没有=“23” ^^^

SyntaxError: Unexpected token var 
    at Object.exports.runInThisContext (vm.js:53:16) 
    at Object.<anonymous> ([stdin]-wrapper:6:22) 
    at Module._compile (module.js:541:32) 
    at node.js:328:29 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9)  

我明白,一个构造函数应该使用“这“与变量,但我很好奇,为什么我得到一个错误在声明2

回答

5

你的意思是呢?

var j = function(){ 
this.name = "Joe"; 
var no = "23"; 
} 

请注意分号,而不是逗号后的“乔”。无论如何,这个分号是可选的。你可以放弃它。

+0

你也可以解释为什么添加'j(); console.log(j.no);'返回undefined? –

+0

因为'no'不是'j'的属性,它是构造函数中的一个变量,它不可从外部获得。 –

+0

我如何知道它的属性? –