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: '/' });

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<this>UrlObject|new UrlObject()|href;protocol;slashes;auth;username;password;host;hostname;port;path;pathname;search;query;hash;searchParams|parse();format();resolve();normalize()] [object] <:- [UrlObject] UrlObject new UrlObject() href protocol slashes auth username password host hostname port path pathname search query hash searchParams parse() format() resolve() normalize() object toString() toJSON()

構造函數

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;

searchParams

HttpCollection, 查詢當前UrlObject 對像中的請求字符串( 不含“?”)

1
readonly HttpCollection UrlObject.searchParams;

成員函數

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();

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String UrlObject.toString();

返回結果:

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

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

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

調用參數:

  • key: String, 未使用

返回結果:

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