当前位置: 代码迷 >> JavaScript >> jQuery学习札记一:你必须知道的JavaScript知识
  详细解决方案

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

热度:128   发布时间:2013-03-29 14:24:52.0
jQuery学习笔记一:你必须知道的JavaScript知识

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

?

  • 关于JavaScript对象
    ???????? 大多数的面向对象语言都定义了一个特定的根本Object类型,作为其他所有对象的基础,JavaScript也不例外。但从基本的层面上来说,JavaScriptObject与其他面向对象语言的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创建对象的方法不少,但像上例中的方法既单调乏味又冗长易错。下面,我们学习一种更为简洁、可读性更强的表示法――JSONJavaScript Object NotationJavaScript对象表示法)。

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

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

?

  • 关于JavaScript函数:

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

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

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

?

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

?????????JavaScript里,函数被认为是对象,与JavaScript里所定义的任何其它类型一样,比如StringNumberDate。就像其它构造器一样,函数也可以通过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”      ;}
    };

?

?

  相关解决方案