为什么我还没有点击链接 zhuanyi函数就运行了。。。
<script language="JavaScript">
window.onload = rolloverInit;
function rolloverInit()
{
for(var i=1; i<document.links.length; i++)
{ var lianjie = document.links[i];
lianjie.onclick = zhuanyi(lianjie);
}}
function zhuanyi(thislianjie){
alert("neirong");
return false
}
</script>
</head>
<body onLoad="rolloverInit()">
<a href="http://www.baidu.com">aaf</a>
<a href="http://www.baidu.com">恶毒发生法</a>
<a href="http://www.baidu.com">a犯得上</a>
</body>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>newfile</title>
<script language="JavaScript">
Function.prototype.bind = function(obj) { // 对Function原型bind方法申明
var method = this, // this指向调用方法,此处指funs.zhuanyi
temp = function() {
return method.apply(obj, arguments); // 这里指funs.zhuanyi接受funs为this;即指funs.zhuanyi方法内的this现在指向funs;
};
return temp;
}
function fun(thislianjie) {
this._thislianjie = thislianjie;
this.zhuanyi = function() {
alert(this._thislianjie.href);
return false;
}
}
function rolloverInit() {
for(var i=0; i<document.links.length; i++) {
var lianjie = document.links[i],
funs = new fun(lianjie); // 创建funs,将lianjie作为参数赋予给funs里的this._thislianjie;
lianjie.onclick = funs.zhuanyi.bind(funs); // 调用funs.zhuanyi方法,同时将funs作为fun()内部的this,以保证this._thislianjie的持有者有相同的。
}
}
window.onload = rolloverInit;
</script>
</head>
<body>
<a href="http://www.baidu.com">aaf</a>
<a href="http://www.baidu.com">恶毒发生法</a>
<a href="http://www.baidu.com">a犯得上</a>
</body>
</html>
</html>
分享到:
相关推荐
在JavaScript中,每个函数(包括构造函数)都有一个内置的`prototype`属性,这个属性指向一个对象,该对象包含了可以被该函数的所有实例共享的属性和方法。 当我们创建一个新对象时,它会继承其构造函数的`...
PrototypeJS 是一个JavaScript库,由Sam Stephenson 创建,它的设计目标是增强JavaScript语言的功能,提供更方便的对象扩展和面向对象编程。PrototypeJS 提供了一系列实用的函数,使得开发者在JavaScript中进行DOM...
`prototype`是JavaScript的一个库,它为JavaScript语言添加了许多实用的功能,其中包括对Ajax操作的强大支持。本实例将探讨如何使用Prototype库中的Ajax功能进行编程。 首先,我们需要理解Prototype库是如何引入到...
Singleton Bean表示在整个Spring IoC容器中只有一个实例,而Prototype Bean则表示每次请求都会创建一个新的实例。这两种作用域的使用场景和实现方式都有所不同,下面我们将深入探讨它们的原理和区别。 Singleton ...
1. **原型对象(Prototype Object)**:每个函数在JavaScript中都内置了一个`prototype`属性,这个属性是一个对象,用于定义将来由该函数创建的对象的实例的属性和方法。 2. **原型链(Prototype Chain)**:当试图...
这里的"prototype_1.4简单实例及说明"很显然是关于Prototype库的1.4版本的一个教程或者参考资料集合。这个压缩包包含了多个HTML文件(8.html、3.html、9.html、7.html、index.html、4.html、5.html、2.html、data....
每个函数都有一个prototype属性,这个属性是一个对象,用于定义函数实例的默认属性和方法。当我们创建一个新的对象时,如果没有指定特定的原型,那么它就会继承其构造函数的prototype。 在JavaScript中,对象可以...
在前端开发中,"Prototype 图片多方向滚动实例" 是一个常见的交互效果,它通常用于网站的轮播图、产品展示或动态画廊等场景。Prototype 是一款 JavaScript 框架,它为开发者提供了丰富的功能,简化了 DOM 操作,使得...
通过在构造函数的`prototype`上添加方法,所有实例都可以共享这些方法,而不是每个实例都有一份副本,这样可以节省内存。例如: ```javascript Person.prototype.sayHello = function() { console.log('Hello');...
在前端开发中,"Prototype 手风琴实例 展开折叠的DIV层"是一个常见的交互设计,它通常用于实现网页中的折叠式导航、内容展示等。Prototype是一个流行的JavaScript库,它提供了一系列强大的工具来简化DOM操作,事件...
在Spring框架中,Bean的作用域是决定如何管理和创建...`prototype`则支持按需创建新实例,适用于需要多个实例且状态可变的情况。理解并正确使用这两个作用域,能够帮助开发者更有效地设计和管理Spring应用中的Bean。
`instanceof`通过查找对象的原型链来确定对象与构造函数之间的实例关系,而`prototype`则用来设置和访问对象的原型属性,从而实现对象间的共享属性和方法。了解和掌握这两个概念,对于理解和使用JavaScript的面向...
1. **Prototype机制**:在JavaScript中,每个函数都有一个prototype属性,这个属性指向一个对象,该对象的属性和方法可以被实例对象共享。当我们尝试访问实例的一个属性时,如果在实例上找不到,JavaScript会查找其...
上述代码中,`ExtendClass`的实例`instance`可以调用`BaseClass`的方法`showMsg`,因为`ExtendClass.prototype`是`BaseClass`的一个实例,继承了`BaseClass`的方法。 3. **方法重写与调用** 如果子类(如`...
它们不仅涵盖了Prototype的核心功能,还有丰富的实例和解析,对于前端开发者来说,无论是初学者还是有经验的开发者,都能从中受益匪浅。通过深入学习和实践,你可以更加熟练地运用Prototype提升网页开发效率,实现...
2. Class创建:Prototype提供了一种创建类的机制,通过`Class.create()`函数,可以创建一个新的类实例。类的实例化则通过`new`关键字完成。 三、Prototype的DOM操作 1. Element方法:Prototype对DOM元素提供了大量...
比如,Prototype推崇模块化和面向对象编程,提倡使用类(Class)和实例(Object)来组织代码,这有助于创建可复用和可扩展的组件。同时,Prototype遵循DRY(Don't Repeat Yourself)原则,减少重复代码,提高代码...
2. **Class与Prototype链**:Prototype提供了一种模拟类的机制,通过创建类的实例来实现面向对象编程。通过`Object.extend()`方法可以创建类,通过`Class.create()`则可以创建子类,并且维护了原型链。 3. **Ajax**...
Prototype框架是JavaScript编程中的一种流行库,主要用于简化DOM操作、事件处理、Ajax交互以及对象创建。这个框架由Sam Stephenson于2005年创建,是早期JavaScript开发者的常用工具,尤其是在构建动态Web应用程序时...
Prototype库中的`Event.observe()`方法用于绑定事件监听器,`Event.stop()`则可以阻止事件的默认行为。 5. **动画效果**: 为了实现平滑的图片切换,Prototype可能结合CSS3的过渡效果或者使用其内置的`Element....