技法66 (◐‿◑) 扩展构造函数以接收参数
http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png按照提示,完成代码,秀秀你的编程能力!
不许看答案,否则打屁屁
分析:
请注意,使用Bird构造函数创建的所有Birds都自动命名为Albert,颜色为蓝色,并有两条腿。
但如果你想要不同的名称和颜色的鸟呢?
可以手动更改每只鸟的属性,但这将是有很多步骤:
let swan = new Bird(); swan.name = "Carlos"; swan.color = "white";
假设你正在编写一个程序来跟踪鸟舍中数百甚至数千只不同的鸟类。创建所有鸟类需要很多时间,再就是还要将属性更改为不同的值。
要更轻松地创建不同的Bird对象,你可以设计Bird构造函数以接受参数:
function Bird(name, color) {
this.name = name;
this.color = color;
this.numLegs = 2;
}
然后将值作为参数传递给Bird构造函数中的每个唯一的鸟类。
let cardinal = new Bird("Bruce","red");
这给出了一个新的Bird实例,其名称和颜色属性分别设置为Bruce和红色。numLegs属性仍然设置为2。
cardinal具有以下属性:
cardinal.name // => Bruce
cardinal.color // => red
cardinal.numLegs // => 2
构造函数更灵活了。现在可以在创建时为每个Bird定义属性,这是JavaScript构造函数非常有效的一种方式。
它们根据共享特征和行为将对象分组在一起,并定义自动创建的蓝图。
I Need U:
创建另一个Dog构造函数。这一次,设置参数name和color,并将属性numLegs固定为4。
然后创建一个新的 Dog保存在变量terrier中。
传递两个字符串作为name和color属性的参数。
Dog 应接收一个 name 属性的参数.
Dog 应该收一个 color属性的参数.
Dog 属性 numLegs 应该设置成 4.
terrier 应该由 Dog 构造函数构建.
答案:
**** Hidden Message *****
回顾:
技法65 (◐‿◑) 使用构造函数创建对象
○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛
let Dog = function(name, color, numLegs) {
this.name = name;
this.color = color;
numLegs = 4;
}
let terrier = new Dog("Terrier", "red"); 3 function Dog(name,color){
4 this.name = name;
5 this.color = color;
6 this.numLegs = 4;
7 }
8 terrier = new Dog("Dog","blue");
9 alert(terrier.name);
em {:5_102:} 1
页:
[1]