在javascript中的类中打印变量

时间:2017-07-08 17:48:24

标签: javascript

伙计们,我有那么简单的代码......但它打印未定,但我不知道为什么

function myMove() {  
  this.pos = 0;
  this.right = function() {
	 fun();
  }
  function fun(){
	  this.pos++;
  }
 
}

var move = new myMove();
alert(move.right());

任何帮助???

3 个答案:

答案 0 :(得分:0)

您需要从fun()this.right返回值。

function myMove() {  
  var pos = 0;
  this.right = function() {
     return fun();
  }
  function fun(){
      return pos++;
  }

}

var move = new myMove();
alert(move.right());

答案 1 :(得分:0)

试试这个。

初始化

时,您需要使用pos而不是this.pos

function myMove() {  
  pos = 0;
  this.right = function() {
	 return fun();
  }
  function fun(){
	 this.pos++;
     return this.pos;
  }
 
}

var move = new myMove();
alert(move.right());

答案 2 :(得分:0)



function myMove() {  
  pos = 0;
  this.right = function() {
	 return fun();
  }
  function fun(){
     return ++this.pos;
  }
 
}

var move = new myMove();
alert(move.right());




在javascript中,需要使用用户return关键字从函数返回值 也 您必须使用前缀运算符pos++

,而不是postfix ++pos运算符

区别在于后缀运算符将首先返回一个值并将其递增 前缀运算符将首先递增值,然后它将处理它