Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在本机JS上以不同的方式调用函数_Javascript - Fatal编程技术网

Javascript 在本机JS上以不同的方式调用函数

Javascript 在本机JS上以不同的方式调用函数,javascript,Javascript,我正在为我的代码的基本结构寻找解决方案。我尽量少用括号或单词。我不知道有没有办法,但我想问:) 我试图创建一个动态对象,当其他东西发生变化时,它会发生变化。基本上,我必须使用一个函数。我来这里是为了缩短我使用的方式 让我给你一个可行的解决方案: function mainFunction(object){ // getElementById(object.id) // use object.date // use object.string } mainFunction

我正在为我的代码的基本结构寻找解决方案。我尽量少用括号或单词。我不知道有没有办法,但我想问:)

我试图创建一个动态对象,当其他东西发生变化时,它会发生变化。基本上,我必须使用一个函数。我来这里是为了缩短我使用的方式

让我给你一个可行的解决方案:

function mainFunction(object){

   // getElementById(object.id)
   // use object.date
   // use object.string

}

mainFunction (function(){return{  id:"varName",date: Date.now(), string:"test2"  }})
对于此示例,我不满意以下命令:

mainFunction (function(){return{  
}})
现在,问题1: 有没有一种方法可以使用短方法创建动态对象

//预期代码

mainFunction{ id:"varName",date: Date.now(), string:"test2" };
varName.mainFunction (date: Date.now(), string:"test2");
->每次调用对象时都必须重新定义日期。 ->在引号中使用date.now并用eval或Function调用它是没有意义的

问题2: 是否有一种方法可以在开始时使用varName,即使它未定义

//预期代码

mainFunction{ id:"varName",date: Date.now(), string:"test2" };
varName.mainFunction (date: Date.now(), string:"test2");
//预期结果

{
if (typeof varName !=="undefined"){
 //create it.
}
// call the main function.
}
->尝试、抓住等。不要在这里工作。因为我不想在主代码上使用try


非常感谢,

如果我理解正确,您可以使用访问器属性来完成您所询问的括号部分。在这种情况下,我不认为这是一种好的做法(函数调用通常应该看起来像函数调用,而不是属性访问),但如果您想:

函数main函数(对象){
const first=object.date;
console.log(第一);
while(object.date==first)
;//忙循环最长可达一毫秒
console.log(object.date);
}
主要功能({
获取日期(){
返回日期。现在();
}
//获取字符串(){etc。

})
欢迎来到Stack Overflow!请带上(您会得到一个徽章!),环顾四周,并通读,特别是我还推荐Jon Skeet的。我恐怕不清楚您在这里尝试做什么,也不清楚您显示的代码的哪些部分正在尝试创建您所询问的内容,以及哪些部分正在尝试使用它。请澄清您正在尝试做什么。定义您的函数具有使用默认属性值的默认参数对象,
function main(obj={date:date.now(),string:“test2”}{console.log(obj);}
如果传递给函数的对象没有默认属性之一,则将使用默认值