zoukankan      html  css  js  c++  java
  • js点滴知识(1) -- 获取DOM对象和编码

      在今天的工作中发现了一些小的问题,在网上查了一下,才知道自己的js才是冰山一角,以后要虚心向他人学习,要虚怀若谷.

      发现一:js获取DOM对象与jquery的区别

      先前总以为,二者是一样的,最近才知道,二者是不同的:

      前者使用var jsTab = document.getElementById("tab");//其中tab为所选择dom对象id的属性值.

      后者var jqTab = $("#tab");//不仅需要id属性值,还需要加上#,这是jquery所规定的.

      用原生js获取的是DOM对象,而用jquery是对DOM对象包装后的对象.那么jquery的对象如何转换成DOM对象呢?很简单 jqTab.get(0)即可,即获取第一个数组元素即可,虽然jquery对象并不是数组,不过这里可以理解为数组.反过来呢?jqTab=$(jsTab).很简单吧,各位.

      发现二:encodeURIComponent与encodeURI的区别

      在向后台传递参数时,需要对中文进行编码时需要用到js中的这两个函数,那么这两者有神马区别呢?从网上查到的结果是这样的:

    1 encodeURIComponent(params)该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
    2 其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
    1 encodeURI(params)该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
    2 该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

      以上出自w3cschool之encodeURIComponent,w3cschool之encodeURI.也就是说,对于;/?:@&=+$,#这些也需要编码时就需要前者了.那么两者用途在何处?前者用于POST传递参数时,后者用于url跳转.个人理解,不正确请各位赐教.

  • 相关阅读:
    vs2005 配置winpcap
    qt 解决中文乱码问题
    [翻译] QT正则表达式
    使用QSetting 读写ini文件
    [转]GNOME快捷键
    华为面试题之大整数相加
    qt 程序windows 上发布
    win7英文版中文乱码问题
    CURL命令 Alex
    Sendfile机制 Alex
  • 原文地址:https://www.cnblogs.com/geyifan/p/3267912.html
Copyright © 2011-2022 走看看