我刚刚开始学习javascript
和nodejs
。他们使用的代码之一是:
var express=require('express');
var app=express();
app.listen(3000);
现在我做的时候:
console.log(typeof app);
console.log(typeof app.listen);
我明白了:
function
function
作为输出。现在,如果typeof app
为function
,那么我们如何使用.
运算符来访问其他函数(listen
)?我试着阅读express
模块,但不太了解。
有人可以举一个简单的例子,我们使用function
名称和.
运算符来访问其中的其他函数吗?
我试过了:
var t=function(){
t.bar=function(){
console.log('bar');
}
};
t.bar();
但是没有用。
答案 0 :(得分:2)
函数是对象,它们可以像任何其他对象一样具有属性。
var t = function() {
console.log('foo');
};
t.bar = function() {
console.log('bar');
};
t.bar();
t.favColor = 'red';
t.shoeSize = 12;
答案 1 :(得分:1)
在Javascript中,function
是对象。这是您定义对象的方法:
var myObject = {/*Some members*/};
这是您定义function
var myFunction = function(/*Some parameters*/) {/*Do something*/};
typeof myObject
将导致"object"
和
typeof myFunction
将导致"function"
它们之间的区别在于可以调用myFunction
,而无法调用myObject
。例如这个
({})()
会导致错误。但是,否则它们非常相似,它们可以以相同的方式拥有成员。
myFunction.myInnerFunction = function(/*Some other parameters*/) {/*Do something else*/};
为myInnerFunction
myFunction
成员分配一个恰好是function
的值。从那以后,您就可以致电myFunction.myInnerFunction
。但是,您需要了解有关function
的更多信息,您可以使用this关键字开始学习。
答案 2 :(得分:0)
您的问题是关于语言的基础知识。
有很多解决方案。
这取决于你想要达到的目标。
以下是一些例子:
select().
或:
const t = () => {};
t.bar = () => {
console.log('bar');
};
t.bar();
或:
const t = {
bar: () => {
console.log('bar');
}
};
t.bar();
或:
class t {
static bar() {
console.log('bar');
}
}
t.bar();
并修复您的示例(与上面的示例相同):
class T {
static bar() {
console.log('bar');
}
}
const t = new T();
t.bar();