文档介绍:1 / 28 javascript 面向对象技术基础(一) ...................................................................................... 1 javascript 面向对象技术基础(二) ...................................................................................... 4 javascript 面向对象技术基础(三) ...................................................................................... 6 javascript 面向对象技术基础(四) .................................................................................... 10 javascript 面向对象技术基础(五) .................................................................................... 15 javascript 面向对象技术基础(六) .................................................................................... 20 javascript 面向对象技术基础(一) 看了很多介绍 javascript 面向对象技术的文章,?不是因为写得不好, 中的对象还没解释清楚怎么回事,一上来就直奔主题,类/继承/原型/私有变量.... 结果呢,看了大半天,有了一个大概的了解,细细一回味,好像什么都没懂... 这篇文章是参考<<javascript-the definitive guide,5th edition>> 第7,8, 9 章而写成的,我也会尽量按照原书的结构来说明 javascript 的面向对象技术(对象/数组->函数--> 类/构造函数/原型).对一些我自己也拿捏不准的地方,我会附上原文的英文语句,,则文中出现的所有英文语句(程序体除外)都是引自<<javascript-the definitive guide,5th edition>>. ------------------------------------------------- 对象和数组(Objects and Arrays) 什么是对象?把一些"名字-属性"的组合放在一个单元里面,就组成了一个对象. 我们可以理解为 javascript 中的对象就是一些"键-值"对的集合(An object isacollection ofnamed values. These named values are usually referred toasproperties ofthe object.--). "名字"只能是 string 类型,不能是其他类型,而属性的类型则是任意的(数字/字符串/其他对象..). 可以用 new Object() 来创建一个空对象,也可以简单的用"{}" 来创建一个空对象,这两者的作用是等同的. Js代码 var emptyObject1 = {}; // 创建空对象 var emptyObject2 = new Object(); // 创建空对象 var person = {"name":"sdcyst", "age":18, 2 / 28 "sex":"male"}; // 创建一个包含初始值的对象 person alert(); //sdcyst alert(person["age"]); //18 从上面的例子我们也可以看到, 访问一个对象的属性, 可以简单的用对象名加"." 后加属性的名字,也可以用"[]" 操作符来获取, 此时在[] 里面的属性名字要加引号, 这是因为对象中的索引都是字符串类型的. javasript 对象中属性的个数是可变的, 在创建了一个对象之后可以随时对它赋予任何的属性. Js代码 var person = {}; = "sdcyst"; person["age"] = 18; alert( + "__" + ); //sdcyst__18 var _person = {name:"balala","age":23};