Object 内置对象

对象 UrlObject

Url 处理对象

基础模块。提供 url 的格式化,解析与拼装

1 2 3 4 5 6
var url = new net.Url('http://www.xici.net/'); var url = new net.Url({ protocol: 'http:', hostname: 'www.xici.net', pathname: '/' });

继承关系

构造函数

UrlObject

UrlObject 对象构造函数,使用参数构造

1
new UrlObject(Object args);

调用参数:

  • args: Object, 指定构造参数的字典对象,支持的字段有:protocol, slashes, username, password, hostname, port, pathname, query, hash

UrlObject 对象构造函数,使用 url 字符串构造

1 2 3
new UrlObject(String url = "", Boolean parseQueryString = false, Boolean slashesDenoteHost = false);

调用参数:

  • url: String, 指定构造 url 字符串
  • parseQueryString: Boolean, 指定是否解析 query
  • slashesDenoteHost: Boolean, 默认为false, 如果设置为true,则从字符串'//'之后到下一个'/'之前的字符串会被解析为host,例如'//foo/bar', 结果应该是{host: 'foo', pathname: '/bar'}而不是{pathname: '//foo/bar'}

成员属性

href

String, 查询和设置当前 UrlObject 对象中的完整 url 地址描述,此描述由其他所有属性组装而成

1
String UrlObject.href;

protocol

String, 查询和设置当前 UrlObject 对象中的协议名称

1
String UrlObject.protocol;

slashes

Boolean, 查询和设置当前 UrlObject 对象是否包含双斜杠

1
Boolean UrlObject.slashes;

auth

String, 查询和设置当前 UrlObject 对象中的完整验证字符串,由 username 和 password 属性组装而成

1
String UrlObject.auth;

username

String, 查询和设置当前 UrlObject 对象中的验证用户

1
String UrlObject.username;

password

String, 查询和设置当前 UrlObject 对象中的验证密码

1
String UrlObject.password;

host

String, 查询和设置当前 UrlObject 对象中的完整主机描述,由 hastname 和 port 组装而成

1
String UrlObject.host;

hostname

String, 查询和设置当前 UrlObject 对象中的主机名

1
String UrlObject.hostname;

port

String, 查询和设置当前 UrlObject 对象中的端口号

1
String UrlObject.port;

path

String, 查询和设置当前 UrlObject 对象中的请求完整路径(含请求),由 pathname 和 query 组装而成

1
String UrlObject.path;

pathname

String, 查询和设置当前 UrlObject 对象中的路径

1
String UrlObject.pathname;

String, 查询和设置当前 UrlObject 对象中的请求字符串(含“?”),等效于“?”+query

1
String UrlObject.search;

query

Value, 查询和设置当前 UrlObject 对象中的请求字符串( 不含“?”)

1
Value UrlObject.query;

hash

String, 查询和设置当前 UrlObject 对象中的请求锚点(含“#”)

1
String UrlObject.hash;

成员函数

parse

解析一个 url 字符串

1 2 3
UrlObject.parse(String url, Boolean parseQueryString = false, Boolean slashesDenoteHost = false);

调用参数:

  • url: String, 指定需要解析的 url 字符串
  • parseQueryString: Boolean, 指定是否解析 query
  • slashesDenoteHost: Boolean, 默认为false, 如果设置为true,则从字符串'//'之后到下一个'/'之前的字符串会被解析为host,例如'//foo/bar', 结果应该是{host: 'foo', pathname: '/bar'}而不是{pathname: '//foo/bar'}

format

使用指定的参数构造 UrlObject

1
UrlObject.format(Object args);

调用参数:

  • args: Object, 指定构造参数的字典对象,支持的字段有:protocol, slashes, username, password, hostname, port, pathname, query, hash

resolve

重定位 url 路径,自动识别新路径为相对路径还是绝对路径

1
UrlObject UrlObject.resolve(String url);

调用参数:

  • url: String, 指定新的路径

返回结果:

  • UrlObject, 返回包含重定位数据的对象

normalize

标准化路径

1
UrlObject.normalize();

dispose

强制回收对象,调用此方法后,对象资源将立即释放

1
UrlObject.dispose();

equals

比较当前对象与给定的对象是否相等

1
Boolean UrlObject.equals(object expected);

调用参数:

  • expected: object, 制定比较的目标对象

返回结果:

  • Boolean, 返回对象比较的结果

toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String UrlObject.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value UrlObject.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值