Javascript 如何将变量声明为函数并为其赋值

Javascript 如何将变量声明为函数并为其赋值,javascript,html,function,object,Javascript,Html,Function,Object,我试过这个: var-fun=function(){console.log(“booyah”}{ 地狱:函数(){ console.log(“你好”); }, 男孩:()=>{ 警惕(“废话”); } }; fun.boy();检查以下代码,参考取自 函数MyFun(){ 如果(!this | | this==窗口){ 返回新的MyFun(); } var f=函数(){ 返回“谢谢您的来电!”; } f、 _uuuproto_uuu=MyFun.prototype; f、 构造函数=MyF

我试过这个:

var-fun=function(){console.log(“booyah”}{
地狱:函数(){
console.log(“你好”);
},
男孩:()=>{
警惕(“废话”);
}
};

fun.boy();
检查以下代码,参考取自

函数MyFun(){
如果(!this | | this==窗口){
返回新的MyFun();
}
var f=函数(){
返回“谢谢您的来电!”;
}
f、 _uuuproto_uuu=MyFun.prototype;
f、 构造函数=MyFun;
返回f;
}
MyFun.prototype={
foo:function(){
返回“foo:+this();
},
__proto_u;:Function.prototype
};
var f=新的MyFun();
警报(“proto方法:+f.foo());//尝试我们的原型方法
警报(“函数方法:+f.call());//尝试标准函数方法
警报(“函数调用:“+f());//尝试用作函数
警报('typeof:'+typeof f);//“函数”,而不是“对象”。在当前的js版本中无法绕过它
警报('is MyFun:'+(f instanceof MyFun));//真

alert('is Function:'+(f instanceof Function));//true
您可以通过编辑函数的原型来实现这种结果

例如:

函数foo(){
const something='事物';
归还某物;
}
const customPrototype={
问候语:(姓名)=>{
const greetingTemplate=`Hello${name}`;
返回问候模板;
},
随机数:()=>{
返回Math.random();
},
};
//扩展prototype以访问自定义prototype函数
赋值(foo,customPrototype);
console.log(foo());//这个东西
console.log(foo.greeting('People');//大家好
console.log(foo.randomNumber());/0.261831198993545
//默认的原型函数也在工作

console.log(foo.toString());//[object Function]
但我想像调用myObject.fun()那样工作其中myObject的行为类似于函数,我可以访问大括号中存储的函数作为对象,即,首先它的行为类似于函数,通过放置
我可以访问存储在它里面的函数。知道吗?为什么你不质疑这个解释本身?很抱歉更新了答案,我认为这个答案可能有助于恢复解决你的问题。如果你觉得这很有帮助的话,投票会让我高兴的。我不能投票给你,因为我没有声誉:(但我可以标记为正确答案:)。注意:我想工作,就像我给myObject打电话一样。乐趣()其中myObject的行为类似于函数,我可以访问大括号中存储的函数作为对象,即,首先它的行为类似于函数,并通过放置一个。我可以访问其中存储的函数。有什么想法吗?你明白了,兄弟,你可以提供任意数量的变量,并在你的函数中写一些逻辑。如果您想添加更多的函数,只需更新customPrototype(添加额外的属性/函数)。请随意在那里写任何东西。不,不要使用不推荐的
\uuuuu proto\uuuu
访问器!没有理由在这里乱搞原型(更糟糕的是,使
foo
不再是函数的
实例)。只需编写
Object.assign(foo,customMethods)
就可以了。@Bergi我已经编辑了解决方案。谢谢你的帮助!