《精通JavaScript》笔记(1)

本文介绍了一个使用JavaScript实现的面向对象编程示例,包括定义Lecture和Schedule类,并演示了如何利用这些类创建对象及调用方法来展示课程安排。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]第1章 现代JavaScript程序设计[/b]

1.1 面向对象的JavaScript
1.2 测试代码
1.3 打包分发
1.4 分离式DOM脚本编程
1.4.1 DOM
1.4.2 事件
1.4.3 JavaScript与CSS
1.5 Ajax
1.6 浏览器支持
1.7 小结


笔记:
这个地方遇到一个奇怪的问题,如下.

//'Lencture'类的构造函数
//用名称(name)和教师(teacher)作为参数
function Lecture(name,teacher){
this.name = name;
this.teacher = teacher;
}

//Lecture类的一个方法(method),用于生成
//一条显示Lecture信息的字符串
Lecture.prototype.display = function(){
return this.teacher + ' is teaching ' + this.name + '!';
};

//Schedule类的构造函数,以课程的数组作为参数
function Schedule(lectures){
this.lectures = lectures;
}

//构造一条字符串,表示课程的安排表
Schedule.prototype.display = function(){
var str = '';

//遍历每项课程,建立包含他们信息的字符串
for(var i = 0; i < this.lectures.length; i++){
str += this.lectures[i].display() + '\n';
}
return str;
};

var mySchedule = new Schedule([
new Lecture("Gym","Mr.Smith"),
new Lecture("Math","Mrs.Jones"),
new Lecture("English","TBD")
]);

//调用mySchedule.display()
alert(mySchedule.display());

[img]http://dl.iteye.com/upload/picture/pic/86996/fd15a2df-0f1c-3f11-968f-a90a5782be5a.jpg[/img]

//调用mySchedule.display
alert(mySchedule.display);

[img]http://dl.iteye.com/upload/picture/pic/86998/87043328-3f82-3fbe-b669-e66f3f88d8dc.jpg[/img]
我个人的理解,调用的时候加"()",它会认为".display"是一个函数.调用的时候不加"()",它会认为".display"是一个字符串.
不太理解,求解释.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值