首页 文章 精选 留言 我的

精选列表

搜索[包体优化],共10000篇文章
优秀的个人博客,低调大师

Node.js 常用工具util包

Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。 util.isError(obj); util.isDate(obj); util.inherits(constr,super); util.isRegExp(/some regexp/); util.isArray(obj); util.inspect(obj); util.inherits util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。 JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。JavaScript 没有 提供对象继承的语言级别特性,而是通过原型复制来实现的。 在这里我们只介绍util.inherits 的用法,示例如下: var util = require('util'); function Base() { this.name = 'base'; this.base = 1991; this.sayHello = function() { console.log('Hello ' + this.name); }; } Base.prototype.showName = function() { console.log(this.name); }; function Sub() { this.name = 'sub'; } util.inherits(Sub, Base); var objBase = new Base(); objBase.showName(); objBase.sayHello(); console.log(objBase); var objSub = new Sub(); objSub.showName(); //objSub.sayHello(); console.log(objSub); 我们定义了一个基础对象Base 和一个继承自Base 的Sub,Base 有三个在构造函数 内定义的属性和一个原型中定义的函数,通过util.inherits 实现继承。运行结果如下: base Hello base { name: 'base', base: 1991, sayHello: [Function] } sub { name: 'sub' } 注意:Sub 仅仅继承了Base 在原型中定义的函数,而构造函数内部创造的 base 属 性和 sayHello 函数都没有被 Sub 继承。 同时,在原型中定义的属性不会被console.log 作 为对象的属性输出。如果我们去掉 objSub.sayHello(); 这行的注释,将会看到: node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ TypeError: Object #<Sub> has no method 'sayHello' at Object.<anonymous> (/home/byvoid/utilinherits.js:29:8) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Array.0 (module.js:479:10) at EventEmitter._tickCallback (node.js:192:40) util.inspect util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换 为字符串的方法,通常用于调试和错误输出。它至少接受一个参数 object,即要转换的对象。 showHidden 是一个可选参数,如果值为 true,将会输出更多隐藏信息。 depth 表示最大递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多 少。如果不指定depth,默认会递归2层,指定为 null 表示将不限递归层数完整遍历对象。 如果color 值为 true,输出格式将会以ANSI 颜色编码,通常用于在终端显示更漂亮 的效果。 特别要指出的是,util.inspect 并不会简单地直接把对象转换为字符串,即使该对 象定义了toString 方法也不会调用。 var util = require('util'); function Person() { this.name = 'byvoid'; this.toString = function() { return this.name; }; } var obj = new Person(); console.log(util.inspect(obj)); console.log(util.inspect(obj, true)); 运行结果是: Person { name: 'byvoid', toString: [Function] } Person { name: 'byvoid', toString: { [Function] [length]: 0, [name]: '', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular] } } } util.isArray(object) 如果给定的参数 "object" 是一个数组返回true,否则返回false。 var util = require('util'); util.isArray([]) // true util.isArray(new Array) // true util.isArray({}) // false util.isRegExp(object) 如果给定的参数 "object" 是一个正则表达式返回true,否则返回false。 var util = require('util'); util.isRegExp(/some regexp/) // true util.isRegExp(new RegExp('another regexp')) // true util.isRegExp({}) // false util.isDate(object) 如果给定的参数 "object" 是一个日期返回true,否则返回false。 var util = require('util'); util.isDate(new Date()) // true util.isDate(Date()) // false (without 'new' returns a String) util.isDate({}) // false util.isError(object) 如果给定的参数 "object" 是一个错误对象返回true,否则返回false。 var util = require('util'); util.isError(new Error()) // true util.isError(new TypeError()) // true util.isError({ name: 'Error', message: 'an error occurred' }) // false 摘自:http://www.runoob.com/nodejs/nodejs-util.html

优秀的个人博客,低调大师

如何用Fiddler对Android应用进行抓包

启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框。 在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮。 在本机命令行输入:ipconfig,找到本机的ip地址。 打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。 在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888,然后点击“保存”按钮。 然后启动android设备中的浏览器,访问百度的首页,在fiddler中可以看到完成的请求和响应数据。 本文转自 小强测试帮 51CTO博客,原文链接:http://blog.51cto.com/xqtesting/1750916,如需转载请自行联系原作者

优秀的个人博客,低调大师

使用wget下载openstack rpm包制作本地源

openstack RPM 同步到本地: wget -m -c -np --reject=html,gif,A,D -nH --cut-dirs=4 -P /data0/src/openstack-havana/ http://repos.fedorapeople.org/repos/openstack/openstack-havana/epel-6/ Puppet RPM 同步到本地: wget -m -c -np --reject=html,gif,A,D -nH --cut-dirs=4 -P /data0/src/puppet/dependencies/ http://yum.puppetlabs.com/el/6/dependencies/x86_64/ wget -m -c -np --reject=html,gif,A,D -nH --cut-dirs=4 -P /data0/src/puppet/devel/ http://yum.puppetlabs.com/el/6/devel/x86_64/ wget -m -c -np --reject=html,gif,A,D -nH --cut-dirs=4 -P /data0/src/puppet/products/ http://yum.puppetlabs.com/el/6/products/x86_64/ 本文转自ting2junshui51CTO博客,原文链接:http://blog.51cto.com/ting2junshui/1732633,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册