Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 如何在对象值中使用动态变量?_Javascript_Object - Fatal编程技术网

Javascript 如何在对象值中使用动态变量?

Javascript 如何在对象值中使用动态变量?,javascript,object,Javascript,Object,是否可以在对象值中使用动态变量?(非财产) errors={'small_age':`${age}太小了`} 年龄=17岁; if(年龄“${n}太年轻了”, “太短”:(n)=>“${n}太短”, “太重了”:(n)=>“${n}太重了”, //有数千个错误的MSG,不想为相关功能将它们分开。。。 } 功能检查时间(n){ 如果(n

是否可以在对象值中使用动态变量?(非财产)

errors={'small_age':`${age}太小了`}
年龄=17岁;
if(年龄<18岁){
警报(错误、小错误)
} 
JavaScript是一种新的语言。(阅读更多关于


您的代码是正确的(即使您没有包含定义
var age
)的代码)。这是你的电话号码。您可以使用函数作为对象中的值,然后传递要用作参数的变量,这样就可以更清楚地看到错误消息中使用了什么值

const errors = { 'small_age': (age) => `${age} is too small` }

const age = 17;
if (age < 18) {
   alert(errors.small_age(age))
}

多亏了@Diego_Sanches,我就这样解决了

const errors={
“太年轻了”:(n)=>“${n}太年轻了”,
“太短”:(n)=>“${n}太短”,
“太重了”:(n)=>“${n}太重了”,
//有数千个错误的MSG,不想为相关功能将它们分开。。。
}
功能检查时间(n){
如果(n<18)警报(错误太年轻(n))
}
功能检查高度(n){
如果(n<180)警报(错误。太短(n))
}
功能检查重量(n){
如果(n>90)警报(错误太重(n))
}
检查年龄(17岁);
检查高度(150);
检查重量(120);

在评估字符串模板之前,您必须声明并定义
age
。您可能需要查看函数check_age(age){if(age<18){errors={'small_age':
${age}太小
}alert(errors.small_age);//此处正确运行}}check_age(17);检查年龄(15岁);//是否有一种全局声明错误对象的方法?因为errors对象中有数百条错误消息,不仅用于age checkyes谢谢,而且我想在一个对象中全局声明所有错误消息(数百条)。不要为每个函数分离每个函数。有办法吗?你的代码是正确的。只需扩展它并包含更多的消息(如您共享的小提琴):错误={'small_age':
${age}太小
,'too_heavy':
${weight}太多
,'too_short':
${heigth}太短
,//…有数千项}您还可以在循环中动态添加它们。比如说:
errors['mymessage']='这是一个新错误'错误
对象后的code>。请回顾一下这个例子。谢谢你。谢谢你,迭戈,是的,这正是我想要的,而且工作得很完美…@AkinZeman很高兴它工作了!如果您将答案标记为已接受,将不胜感激:)
const errors = { 'small_age': (age) => `${age} is too small` }

const age = 17;
if (age < 18) {
   alert(errors.small_age(age))
}
17 is too small
const errors = { 
  'too_young': (n) => `${n} is too young`,
  'too_short': (n) => `${n} is too short`,
  'too_heavy': (n) => `${n} is too heavy`,
  //there thousant err msgs, and didnot want to seperate each of them for related functions...  
  }

function check_age(n){
  if (n < 18) alert(errors.too_young(n)) 
}

function check_height(n){
  if (n < 180) alert(errors.too_short(n))
}

function check_weight(n){
  if (n > 90) alert(errors.too_heavy(n))
}

check_age(17);
check_height(150);
check_weight(120);