代码仓库
https://github.com/JedWatson/classnames
可以找到rec/index.js文件
var hasOwn = {}.hasOwnProperty;function classNames() {var classes = [];for (var i = 0; i < arguments.length; i++) {var arg = arguments[i];if (!arg) continue;var argType = typeof arg;if (argType === 'string' || argType === 'number') {classes.push(arg);} else if (Array.isArray(arg)) {if (arg.length) {var inner = classNames.apply(null, arg);if (inner) {classes.push(inner);}}} else if (argType === 'object') {if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {classes.push(arg.toString());continue;}for (var key in arg) {if (hasOwn.call(arg, key) && arg[key]) {classes.push(key);}}}}return classes.join(' ');
}
// CMD模块 支持moduleif (typeof module !== 'undefined' && module.exports) {classNames.default = classNames;module.exports = classNames;} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {// AMD模块// register as 'classnames', consistent with npm package namedefine('classnames', [], function () {return classNames;});} else {window.classNames = classNames;}