1. 对象,属性

前面看到对象里删除属性一直疑惑,什么是对象,为什么属性可以删除, 我印象里的属性还是停留在property, 总想不明白为什么属性竟然能够删除。直到看到标准库才明白,原来对象就是python里的字典,这个属性就是python里字典的key. delete就是删掉字典里面指定的一个值。这么简单的事如果有老师讲解会容易很多,用专业术语写出来的东西,作为新手真是费了好大劲才琢磨明白。

 

对象应该与python里的字典不完全一样,JS的对象包括数组、函数、三种原始类型(数值、字符串、布尔值)在一定条件下,也会自动转为对象。

   书里面向对象一章解释了对象和属性:

     对象是一个容器,封装了属性(property)和方法(method). 属性是对象的状态,方法是对象的行为(完成某种任务).

    例如,可以把动物抽象为animal 对象, 使用属性记录具体是哪一种动物, 使用方法表示动物的某种行为。

? 如果属性是状态,那可以理解为什么能删除一种发生。但是上个例子中, 如果属性是动物类目,怎么能删除?属性到底是什么?怎么用?

 

window: 代表取全局变量。

 

 

2. 构造函数

    C++ /Java是典型的面向对象编程语言,存在”类“(class) 这个概念。

   ”类“ 就是对象的模板,对象就是”类“的实例。

    但是JavaScript 语言的对象体系,不是基于"类"的, 而是基于构造函数(constructor) 和原型链(prototype).

 

    JavaScript 语言使用构造函数 (consttructor)作为对象的模板。 所谓”构造函数“,就是专门用来生成对象的函数。它提供模板,描述对象的基本结构。一个构造函数,可以生成多个对象, 这些对象都有相同的结构。

 

   构造函数的写法就是一个普通的函数,但是有自己的特征和用法。为了与变通函数区别,构造函数名字的第一个字母通常大写。

1 var Vehicle = function(){
2    this.price=1000;
3 };
View Code

相关文章: