Javascript 将对象声明为函数但包含子函数
不难理解如何将对象声明为可调用函数:Javascript 将对象声明为函数但包含子函数,javascript,object,javascript-objects,Javascript,Object,Javascript Objects,不难理解如何将对象声明为可调用函数: const Sys = { log: function() { //do whatever } } 然后用Sys.log()调用它 但是,在添加新的子函数的同时,如何维护此功能呢 基本上,我希望能够调用类似于Sys.log.clear()的东西,同时仍然能够调用Sys.log() 我得到的最接近的结果是这个,但它显然不起作用,否则我就不会在这里问了”_(ツ)_/''感谢您的帮助。提前谢谢 const Sys = { log: {
const Sys = {
log: function() {
//do whatever
}
}
然后用Sys.log()调用它代码>
但是,在添加新的子函数的同时,如何维护此功能呢
基本上,我希望能够调用类似于Sys.log.clear()
的东西,同时仍然能够调用Sys.log()
我得到的最接近的结果是这个,但它显然不起作用,否则我就不会在这里问了”_(ツ)_/''感谢您的帮助。提前谢谢
const Sys = {
log: {
function(arg) {
alert(arg);
},
clear: function(arg) {
alert(arg);
}
}
}
我可能错了,但我认为在对象文本中很难清晰地做到这一点。您可以定义一个返回所需函数的函数:
函数makelog(){
设fn=函数(arg){
console.log(arg)
}
fn.clear=函数(arg){
console.log(arg)
}
返回fn
}
常数sys={
日志:makelog()
}
sys.log(“你好”)
sys.log.clear(“world”)
我可能错了,但我认为很难在对象文本中清晰地执行此操作。您可以定义一个返回所需函数的函数:
函数makelog(){
设fn=函数(arg){
console.log(arg)
}
fn.clear=函数(arg){
console.log(arg)
}
返回fn
}
常数sys={
日志:makelog()
}
sys.log(“你好”)
sys.log.clear(“world”)
对于奖金积分,在底部是对象方法链接方法,我如何将传递到log(“”)
的信息传递给clear()
在不影响全局范围的情况下?也许我应该就此提出一个新问题,似乎到处都没有答案。嗨@Arlo-我认为这很难直接做到,因为它们实际上是两个独立的函数调用。有一件事你可能会侥幸逃脱,那就是在log()期间在这个
上存储一个值
然后在clear()
过程中引用。不确定其他方法。对于奖励积分,在底部有对象方法链接方法的情况下,我如何将传递到日志(“”)
中的信息传递给clear()
在不影响全局范围的情况下?也许我应该就此提出一个新问题,似乎到处都没有答案。嗨@Arlo-我认为这很难直接做到,因为它们实际上是两个独立的函数调用。有一件事你可能会侥幸逃脱,那就是在log()期间在这个
上存储一个值
然后在清除()过程中引用。不确定其他方法。