0
点赞
收藏
分享

微信扫一扫

看看Jquery,再看看传统的JS,我们来效仿一$(function(){$(“#a”).click=function(){};});吧

小飞侠熙熙 2022-12-01 阅读 120

Jquery简化了传统JS实现功能的代码量,例如:

jquery的$(function(){});相当于传统JS的window.onload=function(){};

还是看一下我写的代码吧:

  <script type="text/javascript">

// 注意,prototype只对本script段起作用
// prototype原型关键字,为一个JS原对象扩展一个方法
Array.prototype.max = function() {
var i, min = this[0];
for (i = 1; i < this.length; i++) {
if (min > this[i])
min = this[i];
}
return min;
};

var myArray = new Array();
myArray[0] = 1;
myArray[1] = 3;
myArray[2] = 2;
document.write(myArray.min());
</script>
各位可以看到,我为一个数组加了一个扩展方法,求最小值 min(),当我们建立一个Array对象后,它将具有这个min方法,当然它的作用域只是当前的<script>代码段.

下面的实例是对自定义的方法加了一个扩展方法,看代码:

<script type="text/javascript">
//自定义的函数(类)
function selfFun(name) {
this.m_Name = name;
}
// 为自定义类添加一个扩展一个方法
selfFun.prototype.Hello = function() {
document.write("你好!" + this.m_Name);
};
var self = new selfFun("张占岭")//为类通过它的构架方法赋值
self.Hello();
</script>
然而上面两个实现都说明了prototype的扩展性,那它的继承性如何去表现呢,实现上,上面的例子从另一方面也说明了它的继承性,即它是继承了原有对象的所有属性后又派生出自己新的属性而以,接下来,我说一个比较明显的例子吧,看代码:

<script type="text/javascript">
//通过函数(类)的prototype属性来继承另一个函数
function A() {
this.MethodA = function() {
document.write("MethodA");
}
}

function B() {
this.MethodB = function() {
document.write("MethodB");
}
}

B.prototype = new A(); //TestObjectB继承了TestObjectA类
var testObjectB = new B();
testObjectB.MethodA();
</script>


举报

相关推荐

0 条评论