KVPairNode.prototype.getValue = function(pairStack) {
  var obj = {};
  pairStack = pairStack || []; // 空数组用来判断是否有循环依赖,在逐层调用时,这个数组会把先后调用的 pair 放入其中
  _.each(this.kvPairs, function(pair) {
    // key 和 val 的 Stack 必须独立