util - 工具

util - 工具 util模块是对齐早期Node.js的util模块而实现的,另外为方便Java交互而增加了$util.java对象。 # $util.java 提供Java交互的辅助工具。 # $util.java.instanceOf(obj, clazz) obj {any} Java对象 clazz {string} 类名 返回 {boolean} 判断一个对象是否属于某个指定的类的实例,如果是,返回true,否则返回false。 # $util.java.array(type, size) type {string} 数组类型,可以是一个Java类名,或者是以下初始类型的名称: "int" "long" "double" "char" "byte" "float" size {number} 数组大小 返回 {Java数组} 创建一个Java数组并返回。例如创建二进制byte数组let bytes = $util.java.array('byte', 1024)。 # $util.java.toJsArray(list, nullListToEmptyArray) list {List} java.util.List列表对象 nullListToEmptyArray {boolean} null列表对象是否转化为空数组 返回 {Array} 将Java列表转换为javascript数组。 # $util.java.objectToMap(obj) obj {any} 对象 返回 {java.util.Map} 将JavaScript object对象转换成java.util.Map。 # $util.java.mapToObject map {Map} Java Map对象 返回 {obj} 将java.util.Map的java对象转换成JavaScript object对象。 # $util.format(format[, ...args]) format {string} 类似printf的格式字符串。 $util.format() 方法使用第一个参数返回一个格式化的字符串作为类似printf的格式。 第一个参数是一个包含零个或多个 placeholder 标记的字符串。 每个占位符标记都替换为从对应的论据。 支持的占位符有: %s - 字符串。 %d - 数字(整数或浮点值)。 %i - 整数。 %f - 浮点值。 %j - JSON。 如果参数被替换为字符串 '[Circular]'包含循环引用。 %o - 对象。 对象的字符串表示: 使用通用的 JavaScript 对象格式。 类似于 $util.inspect(),带有选项 { showHidden: true, depth: 4, showProxy: true }。 这将显示完整的对象,包括不可枚举的符号和属性。 %O - 对象。 具有通用 JavaScript 对象格式的对象的字符串表示形式。 类似于 $util.inspect() 没有选项。 这将显示不包括不可枚举符号和属性的完整对象。 %% - 单个百分号('%')。 这不会消耗一个论点。 如果占位符没有对应的参数,则占位符为没有被替换。 $util.format('%s:%s', 'foo'); // Returns: 'foo:%s' 如果传递给 $util.format() 方法的参数多于占位符的数量,则额外的参数将被强制转换为字符串,然后连接到返回的字符串,每个字符串由空格分隔。 typeof 为 'object' 或 'symbol' 的过多参数(null 除外)将由 $util.inspect() 转换。 $util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz' 如果第一个参数不是字符串,则 $util.format() 返回一个字符串,该字符串是由空格分隔的所有参数的串联。 使用 $util.inspect() 将每个参数转换为字符串。 $util.format(1, 2, 3); // '1 2 3' 如果只有一个参数被传递给 $util.format() ,它会按原样返回,没有任何格式。 $util.format('%% %s'); // '%% %s' # $util.inspect(object[, options]) object {any} 任何 JavaScript 原语或对象。 选项 {对象} showHidden {boolean} 如果为 true,则 object 的不可枚举符号和属性将包含在格式化结果中。 默认为false。 depth {number} 指定格式化object时递归的次数。 这对于检查大型复杂对象很有用。默认为2。 为了让它无限期地递归,传递null。 colors {boolean} 如果为 true,输出将使用 ANSI 颜色样式代码。 默认为false。 颜色是可自定义的,请参阅 Customizing $util.inspect colors。 customInspect {boolean} 如果为 false,则不会调用在被检查的object上导出的自定义inspect(depth, opts)函数。默认为true。 $util.inspect() 方法返回 object 的字符串表示形式,主要用于调试。 可以传递额外的 options来改变格式化字符串的某些方面。 以下示例检查 $util 对象的所有属性: console.log($util.inspect($util, { showHidden: true, depth: null })); 值可以提供它们自己的自定义inspect(depth, opts)函数,当调用这些函数时,它们会在递归检查中接收当前的 depth ,以及传递给$util.inspect()的选项对象。 # $util.extend(target, source) target {object} 目标构造函数 source {object} 要继承的构造函数 将原型方法从一个构造函数继承到另一个构造函数。类似于Node.js中的util.inherits。 function SuperClass() { this.value = 1; } SuperClass.prototype.increment = function() { this.value++; } $util.extend(ChildClass, SuperClass); function ChildClass() { SuperClass.call(this); } ChildClass.prototype.print = function () { console.log(this.value); } let child = new ChildClass(); child.increment(); child.print(); # $util.isArray(object) 稳定性:0 - 已弃用 object {any} Array.isArray 的内部别名。 如果给定的 object 是 Array,则返回 true。 否则,返回 false。 $util.isArray([]); // Returns: true $util.isArray(new Array()); // Returns: true $util.isArray({}); // Returns: false # $util.isBoolean(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 Boolean,则返回 true。 否则,返回 false。 $util.isBoolean(1); // Returns: false $util.isBoolean(0); // Returns: false $util.isBoolean(false); // Returns: true # $util.isDate(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 Date,则返回 true。 否则,返回 false。 $util.isDate(new Date()); // Returns: true $util.isDate(Date()); // false (without 'new' returns a String) $util.isDate({}); // Returns: false # $util.isError(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 Error,则返回 true。 否则,返回false。 $util.isError(new Error()); // Returns: true $util.isError(new TypeError()); // Returns: true $util.isError({ name: 'Error', message: 'an error occurred' }); // Returns: false 请注意,此方法依赖于 Object.prototype.toString() 行为。 当 object 参数操作 @@toStringTag 时,可能会获得不正确的结果。 let obj = { name: 'Error', message: 'an error occurred' }; $util.isError(obj); // Returns: false obj[Symbol.toStringTag] = 'Error'; $util.isError(obj); // Returns: true # $util.isFunction(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 Function,则返回 true。 否则,返回 false。 function Foo() {} let Bar = () => {}; $util.isFunction({}); // Returns: false $util.isFunction(Foo); // Returns: true $util.isFunction(Bar); // Returns: true # $util.isNull(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 严格为 null,则返回 true。 否则,返回 false。 $util.isNull(0); // Returns: false $util.isNull(undefined); // Returns: false $util.isNull(null); // Returns: true # $util.isNullOrUndefined(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 null 或 undefined,则返回 true。 否则, 返回 false。 $util.isNullOrUndefined(0); // Returns: false $util.isNullOrUndefined(undefined); // Returns: true $util.isNullOrUndefined(null); // Returns: true # $util.isNumber(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 Number,则返回 true。 否则,返回 false。 $util.isNumber(false); // Returns: false $util.isNumber(Infinity); // Returns: true $util.isNumber(0); // Returns: true $util.isNumber(NaN); // Returns: true # $util.isObject(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 严格来说是 Object 并且 不是 Function,则返回 true。 否则,返回 false。 $util.isObject(5); // Returns: false $util.isObject(null); // Returns: false $util.isObject({}); // Returns: true $util.isObject(function() {}); // Returns: false # $util.isPrimitive(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是原始类型,则返回 true。 否则,返回 false。 $util.isPrimitive(5); // Returns: true $util.isPrimitive('foo'); // Returns: true $util.isPrimitive(false); // Returns: true $util.isPrimitive(null); // Returns: true $util.isPrimitive(undefined); // Returns: true $util.isPrimitive({}); // Returns: false $util.isPrimitive(function() {}); // Returns: false $util.isPrimitive(/^$/); // Returns: false $util.isPrimitive(new Date()); // Returns: false # $util.isRegExp(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 RegExp,则返回 true。 否则,返回 false。 $util.isRegExp(/some regexp/); // Returns: true $util.isRegExp(new RegExp('another regexp')); // Returns: true $util.isRegExp({}); // Returns: false # $util.isString(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 string,则返回 true。 否则,返回 false。 $util.isString(''); // Returns: true $util.isString('foo'); // Returns: true $util.isString(String('foo')); // Returns: true $util.isString(5); // Returns: false # $util.isUndefined(object) 稳定性:0 - 已弃用 object {any} 如果给定的 object 是 undefined,则返回 true。 否则,返回 false。 let foo = undefined; $util.isUndefined(5); // Returns: false $util.isUndefined(foo); // Returns: true $util.isUndefined(null); // Returns: false