zoukankan      html  css  js  c++  java
  • Javascript函数中传递带空格的参数

    通常在页面中要让某些内容点击后产 生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用Javascript函数的方式:<a href=javascript:somefunction(args)>content</a>。注意,这么写是有问题的,问题就在 于somefunction中的参数args的值不能含有空格,否则浏览器会认为空格后面的内容是<a>标签的某个属性,正确的写法应该是用 引号将javascript:somefunction(args)引起来。另外还有一种方法可不必加这对引号,先将可能带空格的参数用escape函数 处理一下,然后在somefunction中用unescape函数解码就行了。值得注意的是用encodeURI、decodeURI加解码却不能成 功。

           在网上找了下escape和unescape、encodeURI和decodeURI、encodeURIComponent和decodeURIComponent三对组合之间的区别:

    escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

    encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

    encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

           简单总结一下用法,在不经过URL的时候,即纯Javascript调用用escape;涉及URL时,通常用encodeURI对整个URL进行处理,仅当URL中含有特殊参数时,对该特殊参数局部使用encodeURIComponent。

  • 相关阅读:
    android 多渠道打包
    第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
    Android:支持不同分辨率的屏幕设计 .
    动画效果编程基础--AnimationAndroid
    Android使用尺寸资源 dimens .
    android手机分辨率整理
    线程和进程
    js和html的结合方式
    成员变量和局部变量
    MySQL基础知识
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/5028762.html
Copyright © 2011-2022 走看看