function spinner(target, options = {}){ let defaults = { message: "Please wait", spinningSpeed: 5, cssClass: ".is-spinning" }; let settings = Object.assign( {}, defaults, options ); if(settings.spinningSpeed !== defaults.spinningSpeed){ settings.cssClass = _addSpeedClass(target); } _renderSpinner(target, settings); }
Example2:
function spinner(target, options = {}) { let defaults = { message: "Please wait", spinningSpeed: 5, cssClass: ".is-spinning" }; let settings = Object.assign({} , defaults , options); console.log(`Message: ${settings.message}`); console.log(`spinningSpeed: ${settings.spinningSpeed}`); console.log(`cssClass: ${settings.cssClass}`); } spinner(targetElement, { cssClass: ".is-fast-spinning", spinningSpeed: 8 });
[ES6] Object.assign (with defaults value object)
原文:http://www.cnblogs.com/Answer1215/p/5096746.html