首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jQuery学习札记一:你必须知道的JavaScript知识

2013-03-29 
jQuery学习笔记一:你必须知道的JavaScript知识????? JavaScript是一种基于对象和事件驱动的客户端脚本语言

jQuery学习笔记一:你必须知道的JavaScript知识

????? JavaScript是一种基于对象和事件驱动的客户端脚本语言,由Netscape的LiveScript发展而来,是一种动态、弱类型、基于原型的语言。一个完整的 JavaScript 实现由核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)和浏览器对象模型(Browser Object Model,简称BOM)三个部分组成。

?

关于JavaScript对象
???????? 大多数的面向对象语言都定义了一个特定的根本Object类型,作为其他所有对象的基础,JavaScript也不例外。但从基本的层面上来说,JavaScript的Object与其他面向对象语言的Object几乎没有什么共同之处。JavaScript中的所有事物都是对象,比如字符串、数字、数组、日期等等。在JavaScript中,对象是拥有属性和方法的数据。
??????? ?
JavaScript创建自己的对象十分简单,下面的例子创建了”person”对象,并为其添加了几个属性:
?????????
var person=new Object();person.firstname="Jerry";person.lastname="Chu";person.age=20;document.write(person.firstname + " is " + person[“age”] +" years old.");

????????? 上例的最后一句代码也显示了访问JavaScript属性的两种常用方式。

??????? 实际上,当你如下声明一个变量时:

?????????? var name=”Jerry”;

????????就已经创建了一个JavaScript字符串对象。字符串对象拥有内建的属性length,以及indexOf()等内建方法。

??????? 从上面的实例中我们得知,JavaScript Object实例(对象)是属性的集合,每一个属性都由名称和值构成。属性的名称是字符串,而属性的值可以是任何JavaScript对象(甚至可以是函数)

????????? JavaScript创建对象的方法不少,但像上例中的方法既单调乏味又冗长易错。下面,我们学习一种更为简洁、可读性更强的表示法——JSON(JavaScript Object Notation,JavaScript对象表示法)。

    var person={      firstname: "Jerry",      lastname: "Chu",      age: 20,      pet: {        type: "dog",        color: "black"      }    };  

????? ?事实上,大多数页面作者对JSON的偏爱远远超过利用多个赋值语句来创建对象的方法。(关于JSON更详细的信息,请自行Google/Baidu)

?

关于JavaScript函数:

????????? JavaScript函数的语法并不复杂,定义函数时使用了关键词function

    functionmyFunction()    {       //这里是要执行的代码    }  

??????? 当然,与其它语言类似,你也可以为函数增加参数,此处不再赘述。

?

?????? 下面是重点:

?????????在JavaScript里,函数被认为是对象,与JavaScript里所定义的任何其它类型一样,比如String、Number或Date。就像其它构造器一样,函数也可以通过JavaScript构造器来定义。通过这种方式,Function可以:

?????? (1)??????被指派给变量

?????? (2)??????被指派为对象的属性

?????? (3)??????被传入参数

?????? (4)??????作为函数结果返回

?????? (5)??????用字面量来创建

??????? 这一点与我们在使用其它编程语言时不同,可能会让人感到困惑,那么考虑下面的语句:

    doSomething=function()    {      Alert(“does something!”);    }

????????? function关键字自动地创建Function实例并把它指派给利用函数“名称”所创建的window的属性。再看下面语句

?

    aNumber=6;

?

???????? 事实上这个语句的语法与之前的例子完全相同,6作为一个Number实例被指派给aNumber变量。

?????? 我们对JavaScript里的函数不理解主要是我们在学习其他面向对象语言(如Java)时,函数并不是作为一种对象,而是被对象或者实例来调用。因此,若想理解JavaScript里的函数,我们需要认识到,JavaScript对待函数的方式与其他对象相同,所以函数是JavaScript的“一等公民”(《jQuery实战》)。

??????? 所以,见到下面的代码时,也就不足为奇了:

?

    var person={      firstname: "Jerry",      lastname: "Chu",      age: 20,      pet: {        type: "dog",        color: "black"      },      getMyInfo: function(){return this.firstname+” ”+this.lastname+” is ”+this.age+” years old”      ;}    };

?

?

热点排行