• {string}

    获取及设置 URL 的端口部分。

    端口值可以是数字或包含 065535(含)范围内的数字字符串。 将值设置为给定 protocolURL 对象的默认端口将会导致 port 值变为空字符串('')。

    端口值可以是空字符串,在这种情况下,端口取决于协议/规范:

    协议 端口
    “ftp” 21
    “file”
    “gopher” 70
    “http” 80
    “https” 443
    “ws” 80
    “wss” 443

    在为端口分配值后,将首先使用 .toString() 将值转换为字符串。

    如果该字符串无效但以数字开头,则将前导号码分配给 port。 如果数字位于上述范围之外,则忽略它。

    1. const myURL = new URL('https://example.org:8888');
    2. console.log(myURL.port);
    3. // 打印 8888
    4. // 默认端口将自动转换为空字符。
    5. // (HTTPS 协议默认端口是 443)
    6. myURL.port = '443';
    7. console.log(myURL.port);
    8. // 打印空字符
    9. console.log(myURL.href);
    10. // 打印 https://example.org/
    11. myURL.port = 1234;
    12. console.log(myURL.port);
    13. // 打印 1234
    14. console.log(myURL.href);
    15. // 输出 https://example.org:1234/
    16. // 完全无效的端口字符串将被忽略。
    17. myURL.port = 'abcd';
    18. console.log(myURL.port);
    19. // 打印 1234
    20. // 开头的数字将会被当做端口号。
    21. myURL.port = '5678abcd';
    22. console.log(myURL.port);
    23. // 打印 5678
    24. // 非整形数字将会被截断。
    25. myURL.port = 1234.5678;
    26. console.log(myURL.port);
    27. // 打印 1234
    28. // 超出范围的数字将被忽略。
    29. myURL.port = 1e10; // 10000000000,将按如下所述进行范围检查。
    30. console.log(myURL.port);
    31. // 打印 1234

    包含小数点的数字(例如浮点数或科学计数法中的数字)不是此规则的例外。 假设它们有效,将小数点前的前导数字设置为 URL 的端口:

    1. myURL.port = 4.567e21;
    2. console.log(myURL.port);
    3. // 打印 4 (因为它是字符串 '4.567e21' 中的前导数字)