javascript笔记1
对于js一直没有系统的学习,现在开始想深入学习下,但还是从最基础的开始吧。
面向对象的javascript:
javascript一开始就被设计为一门彻底的面向对象的语言,然而,随着javascript的广为运用和接受,其他语言(比如ruby,python和perl)的程序员开始注意到它,并将许多良好的编程习惯带到了javascript中,从而促进了javascrpt的发展。
先看一个例子:示范用一个对象组合表示学校中的课程。
//'Lecture'类的构造函数
//用名称(name)和教师(teacher)作为参数
function Lecture(name,teacher){
//将参数保存在对象的局部属性(local porperty)
this.name = name;
this.teacher = teacher;
}
// Lecture 类的一个方法(method),用于生成一条显示Lecture信息的字符串
Lecture.prototype.display = function(){
return this.teacher + " is teaching " + this.name;
}
var lecture = new Lecture("maths","fyt")
lecture.display()
//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() + " ";
}
return str;
}
//创建一个新的Schedle对象,保存在变量'myShedule'中
var mySchedule = new Schedule([
//创建以恶搞Lecture对象的数组,作为Schedule对象的唯一参数传入
new Lecture("Gym","Mr. Smith"),
new Lecture("Math","Mrs.jones "),
new Lecture("English","TBD")
])
//以弹出框的形式显示这个课程信息
alert(mySchedule.display());
上面的例子可以在firebug中运行.
DOM:
DOM是表达XML文档的常见方式,它不一定是最快的方式,也未必是最轻量级的或者是最容易使用的,但他的应用非常广泛。大部分Web开发的编程语言(比如java/perl/php/ruby/python/javascript)都提供了相应的实现。DOM给开发者提供了一种定位XML层级结构的直观方法。
考虑到正确的THML不过是XML的一个子集,解析并浏览DOM文档的有效办法无疑能简化Javascript的开发。归根结底,Javascript中绝大部分的操作都是Javascript和网页里不同HTML元素之间的交互,而DOM则是简化这一过程的出色工具。
DOM是开发分离式javascript代码的第一步,在THML文档中进行简单的定位使javascript与HTML的互动容易了不少。
事件:
事件(even)是黏合应用程序中所有用户的"胶水"。在设计良好的javascript应用程序中,既有数据来源,又有这些数据的视觉表现(在HTML DOM中表现),要在这两个方面之间同步就必须通过与用户交互,并根据来更新用户界面。DOM和javascript事件的结合,是决定所有现代web应用程序形态的根本所在。
所有现在浏览器都提供了特定交互发生时引发的一系列事件,比如用户移动鼠标,敲击键盘或离开页面。
javascript与css
在DOM和事件交互的基础上产生了DHTML,它的实质其实就是javascript和DOM元素的css属性之间的交互。
作为简便布局,分离式网页的标准,css在给你提供大量功能的同时,只给你的用户带来了最少量的兼容问题。