【JavaScript】JavaScript 全局,了解一下?

JavaScript 全局

  • 全局属性
    • Infinity 代表正的无穷大的数值
    • NaN 指示某个值是不是数字值
    • undefined 指示未定义的值
  • 全局函数
    • encodeURI() 把字符串编码为 URI 编码后的 url 仍可以直接用于请求

      不编码字符~ ! @ # $ & * ( ) = : / , ; ? + '
      该方法能避开对用于URL里使用特殊字符编码,包括# ? & = : /
      使用 encodeURI() 对 URL 编码后的字符串还是有效的URL,所以发送有空格等不属于 url 定义语法里的字符,可以用 encodeURI() 来做编码转换

    • decodeURI() 解码某个编码的 URI

    • encodeURIComponent() 把字符串编码为 URI 组件 编码后的 url 不可以直接用于请求

      不编码字符- _ . ! ~ * ' ( )
      和 encodeURI() 不同,encodeURIComponent() 会对用于定义 URL 的字符# ? & = : /等做编码,所以 encodeURIComponent() 编码后的 url 不可以直接用于请求

      应用场景
      对 url 里的查询参数做编码,例如可以对参数为 url 的值做编码转换
      注意 因为 encodeURIComponent() 不会对单引号'做编码转换,所以建议字符串里用到单引号的地方使用双引号
      另外也可以在 encodeURIComponent() 编码后再把单引号等字符转换为对应的编码

    • decodeURIComponent() 解码一个编码的 URI 组件

    • escape() 对字符串进行编码

      不编码字符 @ * / +
      该方法从 ECMAScript 3 开始就被废弃,建议不要使用

    • unescape() 对由 escape() 编码的字符串进行解码

    • eval() 计算 JavaScript 字符串,并把它作为脚本代码来执行

    • isFinite() 检查某个值是否为有穷大的数

    • isNaN() 检查某个值是否是数字

    • Number() 把对象的值转换为数字

    • parseFloat() 解析一个字符串并返回一个浮点数

    • parseInt() 解析一个字符串并返回一个整数

    • String() 把对象的值转换为字符串

talk is cheap, show me the code.

举些例子

let url ='http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456[; / ? : @ & = + $ , #]'
let encode_url = window.encodeURI(url)
let encode_url2 = window.encodeURIComponent(url)
console.log('encodeURI', encode_url)
console.log('encodeURIComponent', encode_url2)
console.log('decodeURI', decodeURI(encode_url))
console.log('decodeURIComponent', decodeURIComponent(encode_url2))

let str = 'hello world'
let escape_str = window.escape(str)
console.log('escape', escape_str)
console.log('unescape', unescape(escape_str))

输出

encodeURI http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456%5B;%20/%20?%20:%20@%20&%20=%20+%20$%20,%20#%5D

encodeURIComponent http%3A%2F%2Fshowdoc.itplh.com%2Fweb%2F%23%2F4%3Fpage_id%3D10%26token%3D123%2B456%5B%3B%20%2F%20%3F%20%3A%20%40%20%26%20%3D%20%2B%20%24%20%2C%20%23%5D

decodeURI http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456[; / ? : @ & = + $ , #]

decodeURIComponent http://showdoc.itplh.com/web/#/4?page_id=10&token=123+456[; / ? : @ & = + $ , #]

escape hello%20world

unescape hello world

参考

JavaScript 全局

JavaScript escape(),encodeURI()和encodeURIComponent()使用场景

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值