JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>

JavaScript

function inherit(parent, child) {
    var attributes= child.toJSON();
    
    //remove special cases
    var keepkeys=_.without( _.keys(attributes) , 'specialCase1', 'specialCase2', 'specialCase3' );
    
    //remove undefined values
    keepkeys=_.filter(keepkeys,function(key) {
        return ( typeof(attributes[key])!="undefined" );
    });
    
    attributes=_.pick(attributes,keepkeys);

    parent.set(attributes);
}


var P=new Backbone.Model();
var C=new Backbone.Model({copy1:"c1", specialCase1:"dot not copy", undefkey:undefined});

inherit(P, C);

console.log(P.toJSON());