这是另一个代码段,
var jane = new Engineer("Doe, Jane", ["navigator", "javascript"], "belau");
我在这里找到了它:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model
我很抱歉。部分[“navigator”,“javascript”]在上面的行中是什么意思?他们为什么这么写?我也在Facebook的JavaScript文件中看到了这一点。但我无法理解这一点,它是一个对象属性数组吗?
编辑:我找到了这个解释,构造函数调用base方法,将其中的两个作为参数传递 传递给构造函数的参数(“Doe,Jane”和[“navigator”, “javascript”])以及字符串“engineering”。明确使用 构造函数中的“engineering”表示所有Engineer对象 对于继承的dept属性和此值具有相同的值 覆盖从Employee继承的值。
答案 0 :(得分:1)
["navigator", "javascript"]
是array literal notation。它可以在任何预期值的地方使用。例如:
var x = [1,2]
JSON.stringify(['a', 'b'])
[1,2,3].forEach(function(val){console.log(val)});
在你的例子中
// The second argument passed to the Engineer constructor is an array with
// two values: "navigator" and "engineer"
var jane = new Engineer("Doe, Jane", ["navigator", "javascript"], "belau");