链接列表实现的toString方法在js中不起作用

时间:2017-10-21 16:31:02

标签: javascript

我正在通过Cracking the Coding Interview工作,我认为我将实现JS 5中的所有数据结构。任何人都可以向我解释为什么我的toString方法不起作用?

谢谢!

    function Node(data) {
    	this.next = null;
      this.data = data;
    }
    
    Node.prototype.appendToTail = function(data) {
    	var end = new Node(data);
      var n = this;
      while (n.next != null) {
      	n = n.next;
      }
      n.next = end;
    }
    
    Node.prototype.toString = function(head) {
    	
    	console.log(head)
    
    	if (head == null) {
      	return ""
      } else {
    	  return head.data.toString() + "-> " + head.next.toString();
      }
    	
    }
    
    var ll = new Node(1);
    ll.appendToTail(3);
    ll.appendToTail(4);
    
    console.log(ll.toString())

2 个答案:

答案 0 :(得分:1)

你的x函数接受了一个参数,但是当你拨打toString时,你没有传递它。

如果要访问节点,则应使用toString,而不是传入值

this

答案 1 :(得分:1)

var nametocheck = $("#id2").val();

或完全避免此类问题,不要使用原型,类,此,调用等