JavaScript必知必会小结(《JQuery实战》)

1、JavaScript对象的基本原理windows

(1)       Object对象,与其余面向语言相比,这里的Object几乎没有任何相同之处。Object的实例是属性的集合,也就是说,获得Object实例的主要目的就是用做其余对象的已命名集合。数组

(2)       JavaScript对象是属性的无序集合。闭包

(3)       属性由名称和值所构成。app

(4)       对象能够利用对象字面量来声明。Var make = “Yame”;(可是没有日期的字面量。因此须要用date构造器来表示时间,。Var time = new Date(2011,3,18)ide

(5)       顶层变量是Window的属性。(在任何函数以外,如函数

Var foo = bar;windows.foo = bar; foo =bar;三者是等效的)。this

2、函数是一等公民spa

(1)       function与传统面向对象语言有些区别。Function能够指针

1.       被指派给变量orm

2.       被指派为对象的属性

3.       被传入参数

4.       做为函数结果返回

5.       用字面量来建立

所以,对待函数的方式与JavaScript语言里的其余对象相同。

 

这时候,咱们注意到一点顶层变量时Window的属性,

这里,咱们详细说明一些:

Function doSomethingWonderful(){

       Alert(‘does something wonderful’);

}

这个不是建立名为 doSomethingWoderful 的函数,而是建立window的属性。

 

还有一点function hello(){alert(‘23’);}hello = functoin(){alert(‘23’);}window.hello = function(){alert(‘hi there’);}是同样的。注意理解一点:“正如其余对象类型的实例那样,Function实例是值,所以能够支配给变量,属性或者参数,而且就像其余那些对象类型,无实体的无名实例毫无用处,除非他们被指派给变量,属性或者参数。只有经过变量,属性或者参数,他们才能被引用。”(摘自《Jquery实战》中文版P246

 

3、This究竟是什么

JavaC++中,this的变量指向对象的当前实例。在JavaScript里,略有不一样,但必须当心。

在基于类的面向对象语言里,this指针一般引用类的实例。在JavaScript中,函数是一等公民(不被声明为热河东西的一部分),而this所引用的对象被称为函数上下文,由如何调用这个函数决定。

 

1)在函数做为顶层函数而被直接调用时,函数的上下文为window实例。

2)其中有call()和Apply()方法来调用函数,如

Var o1 = {handle:’o1’};

Function whoAmI()

{

       Return this.handle;

}

Alert(WhoAmI.call(o1));

Alert(WhoAmI.apply(o1));

其中Call函数制定对象做为函数上下文,而其他参数做为被调用函数的参数,apply方法和call类似,除了第二个参数要求是对象数组之外(这些对象将成为被条用函数的实参)。

因此说:函数是对象的方法是不正确的。

 

4、闭包

暂略。

相关文章
相关标签/搜索