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);