关于object:JavaScript的对象原型类和继承
前言HTML万物皆标签。 CSS万物皆盒。 JavaScript万物皆对象。 对象JavaScript对象的实质是数据和性能的汇合,语法上体现为键值对的汇合。 键对象的键能够了解为变量名。 值对象的值的类型能够是任意数据类型。 键值对键和值之间用:相连。 多组键值对之间用,宰割。 let profile = { name: '吴彦祖', age: 48, charmingThenMe: false, works: ['特警新人类', '新警察故事', '门徒', '除暴'], bio: function () { alert('你很能打吗?你会打有个屁用啊。') }, hi() { this.bio() alert('进去混要有权势,要有背景,你哪个道上的?') }}依照值是否为函数这一规范,进一步将键值对分为属性(property)和办法(method)。 对象为数据和性能的汇合,数据对应属性,性能对应办法。 以profile为例,前四个为属性,后俩为办法。hi() { ...}// 等价于hi: function() { ...}// 下面的写法是办法的短语法。拜访有两种形式拜访对象的键值对,别离为点式拜访和括号式拜访。 // 点式拜访profile.name // '吴彦祖'// 括号式拜访profile['age'] // 48当你发现在一些非凡场景下应用点式拜访无奈实现时,记得尝试括号式拜访。 这些非凡场景大多呈现于键产生于运行时。 比方:当你在遍历中须要从实参中获取键。或者你须要同时定义对象的键和值。 构造函数理论开发中,若依照下面的形式应用对象,意味着每须要一个profile都须要手动写出一个领有雷同键的对象,这会带来灾难性的结果: 巨量的反复代码一旦须要更新属性或办法,则必须遍历每一个对象咱们须要形象。 具体来说,咱们须要一个函数,能够主动创立具备雷同键的对象,而不是每次应用时,手动重写一遍键。 // 键只须要在定义createProfile()时写一次function createProfile(name, age, charmingThenMe, works, bio, hi) { let o = {} o.name = name o.age = age o.charmingThenMe = charmingThenMe o.works = works o.bio = function () { alert(bio) } o.hi = function () { o.bio() alert(hi) } return o}// 后续生成对象时,只须要写值,键会主动填充let edisonChen = createProfile( '陈冠希', 42, false, ['无间道', '头文字D', '神枪手'], '在吗拓海', '微信转账三百块')edisonChen.nameedisonChen.hi()形象实现。 ...