面向对象的JS代码
在下面的例子中可以找到强类型语言中所描述的类,属性,方法,对象。
<script
language="javascript"
type="text/javascript">
//定义了类型Leature[构造函数]
function Lecture(name, tea) {
this.name = name;
//将参数保存为对象的局部属性
this.teacher = tea;
}
//定义原型方法[类上的方法]
Lecture.prototype.display = function() {
return
this.teacher + " is teaching " +
this.name;
};
//定义类型Schedule[构造函数],接收参数为Lecture的数组
function Schedule(leatures) {
this.leatures = leatures;
}
//类Schedule的方法
Schedule.prototype.display = function() {
var str =
"";
for (var i = 0; i <
this.leatures.length; i++) {
str += this.leatures[i].display() +
"\r";
}
return str;
};
//创建类型Schedule的一个对象mySchedule,并实例化。
var mySchedule =
new Schedule([
new Lecture("a",
"A"),
new Lecture("b",
"B"),
new Lecture("c",
"C")
]);
alert(mySchedule.display());
</script>
this出现在构造函数中,更多的是表示一种特有的属性;
prototype主要用于拓展函数的属性,方法。
在函数类实例化的时候,this的属性需要复制相应的副本,prototype不用。
面向对象的JS代码的更多相关文章
- 面向对象原生js幻灯片代淡出效果
面向对象原生js幻灯片代淡出效果 下面是代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- 如何在一个网站或者一个页面,去书写你的JS代码
// JavaScript Document //如何在一个网站或者一个页面,去书写你的JS代码: //1.js的分层(功能) : jquery(tools) 组件(ui) 应用(app), mvc( ...
- 编写高质量JS代码中
前段时间看了几道关于前端javascript的面试题目,方觉函数调用模式等基础的重要性.于是,下定决心,好好补补基础,即便不能深入语言的内部设计模式,也要对基本面向对象概念有比较深入的理解. 继续上一 ...
- [JQuery]用InsertAfter实现图片走马灯展示效果2——js代码重构
写在前面 前面写过一篇文章<[JQuery]用InsertAfter实现图片走马灯展示效果>,自从写过那样的也算是使用面向对象的写法吧,代码实在丑陋,自从写过那样的代码,就是自己的一块心病 ...
- 几道JS代码手写面试题
几道JS代码手写面试题 (1) 高阶段函数实现AOP(面向切面编程) Function.prototype.before = function (beforefn) { let ...
- 5行js代码搞定导航吸顶效果
一.HTML布局 首先写HTML布局 <body> <div id="wrap"></div> </body> 二.CSS样式 给点 ...
- 面向对象的js编程 Call和apply方法
JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别. 一.方法定义 1.call 方法 语法:call([thisObj[,arg1[, arg2[, [,.arg ...
- Firebug调试js代码
Firebug功能异常强大,不仅可以调试DOM,CSS,还可以调试JS代码,下面介绍一下调试JS. 1.认识console对象 console对象是Firebug内置的对象,该对象可以在代码中写入,可 ...
- 浏览器控制台js代码与后台不同步
原因:浏览器会缓存js 如果是将js代码直接通过<script>标签插入jsp页面中则不存在这个问题 在加载页面的时候会重新加载js代码 如果直接将js代码以文件的形式引入,那么每次在修改 ...
随机推荐
- cmstop传递什么控制器和方法---就实例化该控制器
object顶级类class object 第一级抽象类controllerabstract class controller extends object 第二级抽象类controller_abst ...
- openwrt 包makefile
$() 表示要执行的一条语句 $(if 条件, 成立执行, 失败执行) if条件分支 $(foreach 变量, 成员列表, 执行体) 成员遍历语句 可以看出,语句是可以嵌套使用的. ...
- Entity Framework技巧系列之三 - Tip 9 – 12
提示9. 怎样直接删除一个对象而无需检索它 问题 最常见的删除Entity Framework中实体的方式是将你要删除的实体传入Context中并像如下这样删除: 1 // 按ID查找一个类别 2 / ...
- TeX括号。。。
#include <stdio.h> #include <stdlib.h> int main() { ; ) { if(c=='"') { printf(" ...
- abs与fabs的区别
Python有五个标准的数据类型: 数字 int(整数) long(长整数) float(浮点实数值) complex(复数) 字符串 列表 元组 字典 abs与fabs的区别 abs是求整数的绝对 ...
- 3.请问配置JDK时环境变量path和JAVA_HOME的作用是什么?
1.PATH环境变量.作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.需要把jdk安装目录下的bin目录增 ...
- SQL SERVER与C#的数据类型对应表
序号 类别 SQLServer C Sharp 备注 1 整数 bit Boolean True转换为1False转换为0 2 tinyint Byte C Sharp 数据类型都位于System命名 ...
- jquery滚动条加载数据
//滚动条 $(window).scroll(function () { var scrollTop = $(this).scrollTop(); var scrollHeight = $( ...
- 二分三角形的时候尤其需要注意!!! HDU 5115 二分+模拟
题目大意:http://blog.csdn.net/snowy_smile/article/details/49535301 思路:分类讨论,分别在[1,2].(2,3).[3,4).[4,1]相遇, ...
- C#中使用正则表达式提取超链接地址的集中方法
一般在做爬虫或者CMS的时候经常需要提取 href链接或者是src地址.此时可以使用正则表达式轻松完成. Regex reg = new Regex(@"(?is)<a[^>]* ...