prototype中的$H函数的用法

简介:

将对象转为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> 

 本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/410405,如需转载请自行联系原作者


相关文章
构造函数(function)可以使用 new 生成实例,箭头函数可以吗
构造函数使用 `new` 关键字可以生成实例对象,而箭头函数则不能用作构造函数,因为它没有自己的 `this` 上下文,使用 `new` 调用会抛出错误。
|
7月前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
【5月更文挑战第11天】JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
66 2
C#基础⑧——方法(函数、重载、out、ref)
比喻成职能。比喻成一个生产自行车老板,一个地方专门放螺丝,一个地方专门放轮,一个地方专门放车链子,需要组装什么就从那个仓库里面拿就行了。各司其职。
|
JavaScript 前端开发
|
JavaScript 前端开发
Function() 构造函数
Function() 构造函数
64 0
Array.prototype.includes() 原型调用用法案例讲解
Array.prototype.includes() 原型调用用法案例讲解
120 2
|
JavaScript 前端开发
typeof的用法和注意点
typeof的用法和注意点
重写Function.prototype.bind
重写Function.prototype.bind
119 0