url.port
获取和设置网址的端口部分。
【Gets and sets the port portion of the URL.】
端口值可以是一个数字,也可以是一个包含数字的字符串,范围在 0 到 65535(含)之间。将该值设置为给定 protocol 的 URL 对象的默认端口,将导致 port 值变为空字符串('')。
【The port value may be a number or a string containing a number in the range
0 to 65535 (inclusive). Setting the value to the default port of the
URL objects given protocol will result in the port value becoming
the empty string ('').】
端口值可以是空字符串,此时端口取决于协议/方案:
【The port value can be an empty string in which case the port depends on the protocol/scheme:】
| 协议 | 端口 |
|---|---|
| "ftp" | 21 |
| "file" | |
| "http" | 80 |
| "https" | 443 |
| "ws" | 80 |
| "wss" | 443 |
在给端口赋值时,该值将首先使用 .toString() 转换为字符串。
【Upon assigning a value to the port, the value will first be converted to a
string using .toString().】
如果该字符串无效但以数字开头,则开头的数字会被赋值给 port。如果该数字超出上述范围,则会被忽略。
【If that string is invalid but it begins with a number, the leading number is
assigned to port.
If the number lies outside the range denoted above, it is ignored.】
const myURL = new URL('https://example.org:8888');
console.log(myURL.port);
// Prints 8888
// Default ports are automatically transformed to the empty string
// (HTTPS protocol's default port is 443)
myURL.port = '443';
console.log(myURL.port);
// Prints the empty string
console.log(myURL.href);
// Prints https://example.org/
myURL.port = 1234;
console.log(myURL.port);
// Prints 1234
console.log(myURL.href);
// Prints https://example.org:1234/
// Completely invalid port strings are ignored
myURL.port = 'abcd';
console.log(myURL.port);
// Prints 1234
// Leading numbers are treated as a port number
myURL.port = '5678abcd';
console.log(myURL.port);
// Prints 5678
// Non-integers are truncated
myURL.port = 1234.5678;
console.log(myURL.port);
// Prints 1234
// Out-of-range numbers which are not represented in scientific notation
// will be ignored.
myURL.port = 1e10; // 10000000000, will be range-checked as described below
console.log(myURL.port);
// Prints 1234 包含小数点的数字,如浮点数或科学记数法表示的数字,也不例外。小数点前的前导数字将被设置为 URL 的端口,前提是它们有效:
【Numbers which contain a decimal point, such as floating-point numbers or numbers in scientific notation, are not an exception to this rule. Leading numbers up to the decimal point will be set as the URL's port, assuming they are valid:】
myURL.port = 4.567e21;
console.log(myURL.port);
// Prints 4 (because it is the leading number in the string '4.567e21')