Javascript 向函数添加属性
您可以将属性指定给函数,但这是一个好主意吗? 在本例中,我将说明不能在函数内部为函数创建属性,但可以在函数外部创建属性 问:a.problem被认为是ok JavaScript编程实践吗 功能a{ a、 坏=1 } a、 可疑=2 功能d{ 控制台,洛加,坏了 控制台,洛加 }Javascript 向函数添加属性,javascript,Javascript,您可以将属性指定给函数,但这是一个好主意吗? 在本例中,我将说明不能在函数内部为函数创建属性,但可以在函数外部创建属性 问:a.problem被认为是ok JavaScript编程实践吗 功能a{ a、 坏=1 } a、 可疑=2 功能d{ 控制台,洛加,坏了 控制台,洛加 } d在函数上添加属性是可以的。事实上,这正是ES6类上的静态方法,这是静态方法的唯一用途;考虑它明确的语言支持。 class Foo { static bar() {} } 'bar' in Foo // t
d在函数上添加属性是可以的。事实上,这正是ES6类上的静态方法,这是静态方法的唯一用途;考虑它明确的语言支持。
class Foo {
static bar() {}
}
'bar' in Foo // true
typeof Foo // 'function'
在本例中,我将说明不能在函数内部为函数创建属性,但可以在函数外部创建属性
您可以在该函数内部的函数上创建属性,但不调用函数体就希望函数体运行是不合理的。在函数上放置属性是可以的。事实上,这正是ES6类上的静态方法,这是静态方法的唯一用途;考虑它明确的语言支持。
class Foo {
static bar() {}
}
'bar' in Foo // true
typeof Foo // 'function'
在本例中,我将说明不能在函数内部为函数创建属性,但可以在函数外部创建属性
您可以在该函数内的函数上创建属性,但不调用函数体就希望函数体运行是不合理的
在本例中,我将说明不能在函数内部为函数创建属性,但可以在函数外部创建属性
事实并非如此。可以将属性添加到任何有引用的函数中。问题是您没有调用a,因此a.bad=1行从未有机会运行
功能a{
a、 坏=1
}
a、 可疑=2
功能d{
控制台,洛加,坏了
控制台,洛加
}
A.
D
在本例中,我将说明不能在函数内部为函数创建属性,但可以在函数外部创建属性
事实并非如此。可以将属性添加到任何有引用的函数中。问题是您没有调用a,因此a.bad=1行从未有机会运行
功能a{
a、 坏=1
}
a、 可疑=2
功能d{
控制台,洛加,坏了
控制台,洛加
}
A.
D不应该是这样吗。坏=1?由于a在函数作用域中未定义^no,除非a是构造函数,否则在函数中创建属性也会起作用-您只是从未调用a来运行它。增加一个;在你调用d之前,你会得到1个a.bad的输出。@Damon刚刚测试了它,如果我考虑一下,它实际上是有意义的,因为它引用了全局范围。我从没想过会有这种行为。谢谢c:这可能会有帮助。是的,您可以添加,因为函数也是对象,但如果您使用设计模式,它将始终要求您向对象添加属性,并使用函数对其进行修改。很像OOPS不是应该是这个吗。坏=1?由于a在函数作用域中未定义^no,除非a是构造函数,否则在函数中创建属性也会起作用-您只是从未调用a来运行它。增加一个;在你调用d之前,你会得到1个a.bad的输出。@Damon刚刚测试了它,如果我考虑一下,它实际上是有意义的,因为它引用了全局范围。我从没想过会有这种行为。谢谢c:这可能会有帮助。是的,您可以添加,因为函数也是对象,但如果您使用设计模式,它将始终要求您向对象添加属性,并使用函数对其进行修改。很像OOPSOops。对不起,哎呀。对不起,哎呀。对不起,哎呀。很抱歉。