将对象转为hash对象

Creates a Hash (which is synonymous to "map" or "associative array" for our purposes). A convenience wrapper around the Hash constructor, with a safeguard that lets you pass an existing Hash object and get it back untouched (instead of uselessly cloning it).

The $H function is the shorter way to obtain a hash (prior to 1.5 final, it was the only proper way of getting one).

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <html> 
  4.     <head> 
  5.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  6.         <title>$H</title> 
  7.         <script type="text/javascript" language="javascript" 
  8.          src="prototype.js" ></script> 
  9.         <script> 
  10.         function test() 
  11.         { 
  12.             // 创建一个对象,对于像sucre这样的字符串要记得加引号 
  13.             var obj = { 
  14.                 userName: 'sucre', 
  15.                 password: 'secret', 
  16.                 age: 27 
  17.                 }; 
  18.      
  19.             // 将其转换为Hash对象 
  20.             var hash = $H(obj); 
  21.             alert(hash.toQueryString()); 
  22.         } 
  23.         function getValue(){ 
  24.             var h = $H({name: 'sucre', age: 27, country: 'China'}); 
  25.             // Equivalent to: 
  26.             var hh = new Hash({name: 'sucre', age: 27, country: 'China'}); 
  27.             // Can then be accessed the classic Hash way 
  28.             var country = h.get('country'); 
  29.             var name = hh.get('name'); 
  30.             //看到了输出的结果是一样的,说明$H与new Hash是一回事 
  31.             alert("h中的country:"+country+"\r\n"+"hh中的name:"+name); 
  32.         } 
  33.         </script> 
  34.     </head> 
  35.     <body> 
  36.         <form> 
  37.             <input type="button" value="转换" onclick="test()" /> 
  38.             <input type="button" value="取值" onclick="getValue()" /> 
  39.         </form> 
  40.     </body> 
  41. </html>