prototype 1.4的学习记录

本文介绍了Prototype.js的基础组件,包括其版本定义、实用的ScriptFragment正则表达式、空函数与K函数的作用,同时深入探讨了Class.create方法的实现原理及其如何模仿Java构造函数机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js 代码
  1. // start include prototype.js    
  2.   
  3. //Prototype 的第一个变量   
  4. var Prototype = {   
  5.     //Version 表示当前版本是Prototype 1.4   
  6.   Version: '1.4.0',   
  7.   //ScriptFragment 是一个很有用的正则表达式,可以匹配一段Javascript片段   
  8.   ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)',   
  9.   //这是两个很无聊的函数 emptyFunction是一个空函数   
  10.   //K 返回传入的参数   
  11.   emptyFunction: function() {},   
  12.   K: function(x) {return x}   
  13. }

 

js 代码
  1. //Class.create,用来构造一个类
  2. //调用Class.create会,可以返回一个函数,这个函数会把传入的参数赋给当前的对象,arguments是Javascript里面的一个关键字,表示函数的所有参数。这样Prototype就可以模拟Java构造函数的机制了。   
  3. var Class = {   
  4.   create: function() {   
  5.     return function() {   
  6.       this.initialize.apply(this, arguments);   
  7.     }   
  8.   }   
  9. }   
  10.  

 

   //Abstract是一个空的对象,Abstract的意思好像是要说这是一个抽象    var Abstract = new Object();  //把源对象所有的属性值都赋给  Object.extend = function(destination, source) {      for (property in source) {        destination[property] = source[property];      }      return destination;    }  

js 代码
  1. Object.extend = function(destination, source) {   
  2.     if(!destination){   
  3.         destination={};   
  4.     }   
  5.   for (property in source) {   
  6.     destination[property] = source[property];   
  7.   }   
  8.   return destination;   
  9. }  

 

js 代码
  1. //这个方法觉得没多大的作用,只是相当于一个ToString方法而已   
  2.   
  3. Object.inspect = function(object) {   
  4.   try {   
  5.     if (object == undefined) return 'undefined';   
  6.     if (object == nullreturn 'null';   
  7.     return object.inspect ? object.inspect() : object.toString();   
  8.   } catch (e) {   
  9.     if (e instanceof RangeError) return '...';   
  10.     throw e;   
  11.   }   
  12. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值