资料:prototype 属性 返回对象类型原型的引用。 objectName.prototype objectName 参数是对象的名称。 说明 用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。 例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype,并使用它。 代码如下:function array_max( ){ var i, max = this[0]; for (i = 1; i < this.length; i++) ...
ECMAScript可以识别两种类型的对象,一种叫做Native Object属于语言范畴;一种叫做Host Object,由运行环境提供例如document对象, Dom Node等 Native objects是一种松散的结构并且可以动态的增加属性(property),所有的属性都有一个名字和一个值,这个值可以是另一个对象的引用 或者是内建的数据类型(String, Number, Boolean, Null 或者 Undefined) 下面的这个简单的例子描述了一个javascript对象是如何设置一个属性的值和如何...
JavaScript中几乎每个对象都有一个 toString()方法,而且是内置的.用来输出当前 变量的信息. 但是对于我们最常用的Object对象.每次用 toString都是打印[object Object] {a:1,b:2,c:3}.toString() ===> [object Object] 让人十分郁闷,为此我实现了一个友好的,打印Object各成员的函数, 支持嵌套输出 ,也能友好打印数组内容. 这里贴出代码,希望和大家一起学习,一起完善,改进这个函数. 说句题外话,用 Vim写程序,可不是一般的爽啊. 我表...
1 什么是prototype JavaScript中对象的prototype属性,可以返回对象类型原型的引用。这是一个相当拗口的解释,要理解它,先要正确理解对象类型(Type)以及原型(prototype)的概念。 前面我们说,对象的类(Class)和对象实例(Instance)之间是一种“创建”关系,因此我们把“类”看作是对象特征的模型化,而对象看作是类特征的具体化,或者说,类(Class)是对象的一个类型(Type)。例如,在前面的例子中,p1和p2的类型...
Prototype.js作为javascript的成功的开源框架,封装了很多好用的功能,虽然官方没提供什么文档,不过在google上一搜,好多相关的文档,不过在学习使用的过程中还是碰到了一些问题,希望熟悉的朋友能多加指点,对于prototype.js学习我关注这么几点,同时针对每点也讲讲学习的结果和碰到的问题,^_^ 1、类的创建 prototype.js已经封装好了,这个很简单。 var Person=Class.create(); 这样就创建了一个Person类,这个Person类...
应 得意小蛇 的建议,我整理了一下去年写的JavaScript语法着色引擎,并提供下载,喜欢的尽管拿去,嘿嘿 总的来说是很简单的东西,只是提供了关键字的着色以及一些基本的语法(例如注释,字符串,正则等等),从demo中应该很容易看到其用法,这里简单介绍下: 类名:Lighter 通过new Lighter()可以得到一个着色引擎实例,假设为lighter,有以下属性和方法: 语言属性:lighter.language 这个属性的范围是可以根据语法文件的数量自己...
ECMAScript可以识别两种类型的对象,一种叫做Native Object属于语言范畴;一种叫做Host Object,由运行环境提供例如document对象, Dom Node等 Native objects是一种松散的结构并且可以动态的增加属性(property),所有的属性都有一个名字和一个值,这个值可以是另一个对象的引用 或者是内建的数据类型(String, Number, Boolean, Null 或者 Undefined) 下面的这个简单的例子描述了一个javascript对象是如何设置一个属性的值和如何读取...
以前好像在哪里看到过说jQuery与prototype存在冲突,但一直没在意。今天把自己用jquery框架写好的消息提示框特效放到公司原来的系统发现所有的消息提示效果都罢工了! 汗了半天还是没有发现原因,突然想到jquery与prototype的冲突问题,这才发现公司原来的系统很多页面都调用了prototype框架。知道了原因就想办法解决吧,总不至于让我脱离jquery重新写一遍吧,去网上狂搜了一番终于找到了一些解决办法,这就是: 1、将jquery.js放到...
1.最基本的用法 把ClassA的一个实例赋值给ClassB, ClassB就继承了ClassA的所有属性。 代码入下: function ClassA() { this.a='a'; } function ClassB() { this.b='b'; } ClassB.prototype=new ClassA(); var objB=new ClassB(); for(var p in objB)document.write(p+" "); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]2.从原型继承理论的角度去考虑, js的原型继承是引用原型,不是复制原型, 所以,修改...
http://www.prototypejs.org/download Prototype1.6官方下载 脚本之家下载地址 Learn about whats new in version 1.6. Prototype SVN If you want the full development package (including unit tests), you can use Subversion to checkout the source code:svn co http://svn.rubyonrails.org/rails/spinoffs/prototype/trunk prototype Build the distribution with rake dist and find more details about this in the contr...
但问题来了,由于jQuery以及prototype都使用了美元符函数“$”作为选择器,在两者混合使用的时候$函数被重复定义了,结果导致其中一个框架不能使用。 不过很快,有很多人给出了解决方案,如比较流行的方案是这样的: 代码如下: JQ = $; //rename $ function JQ = $; //rename $ function 这样一来,你可以使用JQ来代替jQuery里的$函数名,而prototype的$函数照常使用,像这样: 代码如下: JQ(document).ready(function(){...
以下部分一个一个的详细介绍: $(element):getElementById的封装,element可以是一个元素的id或元素本身,也可以是一个数组,这时返回一个数组,使用$方法,会自动调用Element.extend(element)方法,这样的话使元素可以直接调用Element中的方法, 例如Element.hide(element)可以写成这样$(element).hide() document.getElementsByClassName(className, parentElement): 根据class选择元素 Element.extend(element): 扩展element,...
下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,Prototype 中的Selector主要支持tag选择器、class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型 The following table summarizes CSS2 selector syntax, 详细的可以看http://www.w3.org/TR/REC-CSS2/selector.html:Pattern Meaning Described in section* Matches any element. Universal selectorE Matches any E element (i....
一、筛选类函数 ancestors、recursivelyCollect、descendants、firstDescendant、immediateDescendants、previousSiblings、nextSiblings、siblings、match、up、down、previous、next、select、adjacent。 二、增、删、改元素类函数 insert、update、remove、replace、wrap、cleanWhitespace 三、设置元素各种属性类函数 visible、toggle、hidde、show、identify、readAttribute、writeAttribute、makeClippi...
先说一下Element对DOM扩展的技术思路,我也是看了一天的代码,这才有了点心得。 使用prototype,我们最常用的莫过于$('div1')之类的代码。从而获得扩展后的element对象,然后,我们就可以用它的各种扩展出来的方法了,如: $('div1').addClassName('loading').show(); 所以,我们研究Element的扩展正应当以此为入口。 function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.lengt...