function drawChart() { var width = window.innerWidth, // default width height = window.innerHeight, // default height margin = {top: 10, right: 10, bottom: 10, left: 10}; function my(selection) { // generate chart here, using `width` and `height` selection.each(function(data){ }) console.log(selection); console.log("drawing hard!") } //----------- BREAK-----------// //SETTER - GETTER my.width = function(value) { if (!arguments.length) return width; width = value; return my; }; my.height = function(value) { if (!arguments.length) return height; height = value; return my; }; my.margin = function(value) { if (!arguments.length) return margin; margin = value; return my; }; return my; }