Fork me on GitHub
摘要: 给你写个简单的例子: 以下是标题部分:<h1><a href = "#t1">第一章</a></h1><h1><a href = "#t2">第二章</a></h1><h1><a href = "#t3">第三章</a></h1>以下是内容部分<a name = "t1">这是第一章的内容</a><a name = "t2" 阅读全文
posted @ 2011-11-26 18:50 会飞的笨石头 阅读(922) 评论(0) 推荐(0) 编辑
摘要: 在JS中模拟继承有多种方式,其中寄生组合模式是一种比较容易简单的模拟继承模式,下面我们就来介绍一下用寄生组合模式模拟继承。 JS的继承包括属性的继承和方法的继承,他们分别通过不同的方法来实现。1属性的继承 属性的继承通过改变函数的执行环境来实现的。而改变函数的执行环境可以使用call()和apply()两种方法来实现。 我们首先创建一个Animal“类”(因为JS中没有类的概念,这里只是一个模拟,它实际上只是一个Function函数对象)。function Animal(typeName) { //为当前方法的执行环境(this)添加一个属性typeName //但是执行环境(this)要执行 阅读全文
posted @ 2011-11-01 17:48 会飞的笨石头 阅读(2788) 评论(1) 推荐(1) 编辑
摘要: function Person(name, age) { this.name = name; this.age = age; if (name == "lcj") { var li = 123; } alert(li); //--没有块级作用域,可以访问if中的变量,if只是起到控制作用 //使用var关键字声明变量时,变量将添加到距离最近的可用环境中,对于函数而言, //这个最近的环境就是函数的局部环境。(如果没添加var关键字,则添加到父环境了) var s = "我属于Person的"; sa = "我是属于window的"; 阅读全文
posted @ 2011-10-30 21:39 会飞的笨石头 阅读(1547) 评论(0) 推荐(0) 编辑
摘要: 第一种方式:使用apply()方法:function sum(x, y) {alert(this); return x + y;//这里的this指的是callS对象方法 } function callS() { callS.callSum1(1, 2); } callS.callSum1 = function (x, y) {alert(this);//这里的this是callS方法 var s = sum.apply(this, arguments); return s; }callS();第二种放方法:使用call()方法:有关call方法:window.color="red& 阅读全文
posted @ 2011-10-30 20:49 会飞的笨石头 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 第一种:传统模式,也称作“工厂模式”,不推荐使用,但要了解。于是早期js程序员有了工厂模式的一个变体: function createPerson(name,age){ var c=new Object(); c.name=name; c.age=age; c.sayName=function(){alert(this.name);}; return c } var p1 = createPerson("james",27); var p2 = createPerson("coook",24); p1.sayName(); p2.sayName();说明 阅读全文
posted @ 2011-10-30 20:47 会飞的笨石头 阅读(414) 评论(0) 推荐(0) 编辑