JavaScript 将属性添加到函数
javascript adding property to function
假设我们有一个函数。
function Rabbit(){
console.log("shiv");
}
现在无需创建此函数的对象,我可以分配此对象的属性
Rabbit.bark = function(line) {
console.log("name is", line);
};
这是什么意思。 这样做会添加一个可变树皮来发挥作用。 或者这是否向Rabbit
对象添加属性,即使我没有使用 new
运算符创建对象。
JavaScript 中的函数只是一个对象,它被称为函数对象。
就像任何其他类型的对象一样,它有自己的构造函数(new Function(...)
),方法(apply
,bind
,call
...)和属性(arguments
,caller
,name
...)。请参阅文档。
您可能熟悉创建如下函数:
function Rabbit() {
console.log('shiv');
}
然后你应该知道你也可以创建一个这样的函数:
var Rabbit = new Function('console.log("shiv")');
现在,您可能会猜到它。如果向 Function 对象添加新属性,只要不覆盖现有属性,该函数仍然可以正常工作。
这样做将变量树皮添加到函数
- 不,函数有自己的闭包,向函数添加变量的唯一方法是使用
Rabbit.bind(object)
将其绑定到对象this
这样做会向 Rabbit 对象添加一个属性
- 好吧,既然"兔子对象"只是一个对象,是的。
这是什么意思。这样做会添加一个变量树皮来发挥作用。或者做 这向 Rabbit 对象添加了一个属性
这样做添加一个变量树皮到函数 - 否
或者这样做会向 Rabbit 对象添加一个属性 - 是
树皮是函数类型的对象的属性
即使我没有使用 new 运算符创建对象
Rabit 已经是一个对象(函数类型)。您不是在创建此对象的实例,只是要向其添加属性。
相关文章:
- 为JS函数添加延迟
- 如何向这个javascript/jquery函数添加参数
- 在Jquery中分离后,如何将相同的函数添加回代码中
- 为什么我要将函数添加到对象原型中,而不是将其添加到对象中
- 正在向构造函数添加作用域变量
- 必应地图没有'当我向函数添加另一个参数时,t显示
- 向函数添加多条语句
- 将JS函数添加到并行队列中
- Javascript - 如何向对象构造函数添加属性
- 将点击函数添加到动态 HTML 链接
- 如何将 JavaScript 函数添加到 Active 类中
- 如何将回调函数添加到 .map 方法
- 使用JavaScript函数添加多个DIV元素
- 如何将函数添加到动态创建的Selectable(jqueryui)中
- 将jquery函数添加到Angular ng repeat中
- Javascript对象/名称空间-如何访问从嵌套函数添加的属性(包括示例)
- 如何在javascript中向回调函数添加附加参数
- AngularJS将函数添加到作用域
- 如何在不向现有JavaScript函数添加代码的情况下向该函数添加回调函数
- 原型-var x=[]-将函数添加到x上