code: function(diff) {
            if (!diff) return this.hasChanged() ? clone(this.changed) : false;
            var old = this._changing ? this._previousAttributes : this.attributes;
            var changed = {};
            for (var attr in diff) {
              var val = diff[attr];
              if (isEqual(old[attr], val)) continue;
              changed[attr] = val;
            }
            return !isEmptyObject(changed) ? changed : false;
          }
docs: Return an object containing all the attributes that have changed, or false if there are no changed attributes. Useful for determining what parts of a view need to be updated and/or what attributes need to be persisted to the server. Unset attributes will be set to undefined. You can also pass an attributes object to diff against the model, determining if there *would be* a change.