日期:2014-05-16  浏览次数:20373 次

《精通JavaScript》笔记(1)
第1章  现代JavaScript程序设计

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());


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


我个人的理解,调用的时候加"()",它会认为".display"是一个函数.调用的时候不加"()",它会认为".display"是一个字符串.
不太理解,求解释.