天天看点

JavaScript语言精粹--Function,类,this,对象

1.类与对象

在js中,创建对象(create object)并不完全是我们时常说的创建类对象,js中的对象强调的是一种复合类型,js中创建对象及对对象的访问是极其灵活的。

js对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的hash表、字典、健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象。(在笔记一中有代码示例)

2.用 function 关键字模拟 class

在 function 中用 this 引用当前对象,通过对属性的赋值来声明属性。如果用var声明变量,则该变量为局部变量,只允许在类定义中调用。

JavaScript语言精粹--Function,类,this,对象
JavaScript语言精粹--Function,类,this,对象

>>上面我们用到了this,在这里也说明一下this的用法以及含义!联想的学习。

this的用法以及含义

(1)this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。

(2)纯粹函数调用。

这里的this就是全局变量。

JavaScript语言精粹--Function,类,this,对象
JavaScript语言精粹--Function,类,this,对象

(3)作为方法调用,那么this就是指这个上级对象。

JavaScript语言精粹--Function,类,this,对象
JavaScript语言精粹--Function,类,this,对象

(4).作为构造函数调用。所谓构造函数,就是生成一个新的对象。这时,这个this就是指这个对象。

(5).最后还有前面说的apply调用

JavaScript语言精粹--Function,类,this,对象
JavaScript语言精粹--Function,类,this,对象

3.在函数体中创建一个对象,声明其属性再返回

在函数体中创建对象可利用第一点的方法,或先 new object(); 再为各属性赋值。

JavaScript语言精粹--Function,类,this,对象
JavaScript语言精粹--Function,类,this,对象

 转载:http://www.cnblogs.com/zqzjs/p/4442662.html

继续阅读