JavaScript 中同一个函数可以被附属到多个对象上
时间: 2023-12-12 09:02:26 浏览: 24
这个说法是正确的。在 JavaScript 中,同一个函数可以被附属到多个对象上,这些对象可以共享该函数的代码逻辑。
例如:
```javascript
var person1 = {
firstName: "John",
lastName: "Doe"
};
var person2 = {
firstName: "Jane",
lastName: "Doe"
};
function fullName() {
return this.firstName + " " + this.lastName;
}
person1.fullName = fullName;
person2.fullName = fullName;
console.log(person1.fullName()); // 输出 "John Doe"
console.log(person2.fullName()); // 输出 "Jane Doe"
```
在上面的示例中,`fullName()` 函数被附属到了 `person1` 和 `person2` 两个对象上,这两个对象都可以访问该函数。调用 `person1.fullName()` 和 `person2.fullName()` 时,`this` 关键字分别指向 `person1` 和 `person2` 对象,从而返回不同的结果。
需要注意的是,附属于不同对象的同名函数并不是相互绑定的,它们之间并没有关联。因此,对其中一个对象上的函数进行修改并不会影响到其他对象上的函数。
相关问题
请用JavaScript写一个函数实现1到300的合计
可以使用for循环来实现1到300的合计,代码如下:
```javascript
function sumOneToThreeHundred() {
let sum = 0;
for (let i = 1; i <= 300; i++) {
sum += i;
}
return sum;
}
console.log(sumOneToThreeHundred()); // 输出结果为 45150
```
这段代码定义了一个名为`sumOneToThreeHundred`的函数,函数内部使用了一个for循环来实现1到300的累加,最终返回累加的结果。在函数外部调用这个函数可以得到1到300的合计结果为45150。
JavaScript 在一个函数内调用另一个函数
在 JavaScript 中,可以在一个函数内部调用另一个函数。例如,假设有两个函数 `foo` 和 `bar`,可以在 `foo` 函数内部调用 `bar` 函数,如下所示:
```javascript
function bar() {
console.log('bar');
}
function foo() {
console.log('foo');
bar();
}
foo(); // 输出:'foo' 和 'bar'
```
在上面的例子中,`foo` 函数内部调用了 `bar` 函数。当执行 `foo` 函数时,会先输出 `'foo'`,然后再调用 `bar` 函数,输出 `'bar'`。
需要注意的是,在 JavaScript 中,函数可以作为变量传递和返回值,因此也可以在一个函数中返回另一个函数,或将一个函数作为参数传递给另一个函数。