从函数参数创建一个变量
Create a variable from function parameter
我想从这些函数参数创建新的变量。怎样才能做到呢?
function addNewStudent(firstName,lastName){
var firstName+lastName = new Student();
}
addNewStudent('Hero','Man');
错误味精:未捕获的SyntaxError: Unexpected token +
制作动态变量需要eval
。这是不好的做法。有更好的选择:
使用对象:
var students={};
function addNewStudent(firstName,lastName){
students[firstName+lastName] = new Student(firstName,lastName);
}
addNewStudent('Hero','Man');
students['HeroMan']; // Student instance
students.HeroMan; // Student instance
使用Map
(仅支持ES6):
var students=new Map();
function addNewStudent(firstName,lastName){
students.add(firstName+lastName, new Student(firstName,lastName));
}
addNewStudent('Hero','Man');
students.get('HeroMan'); // Student instance
对于对象或地图,您甚至可以通过访问students
获得整个列表。这样不是更方便更明智吗?
我建议使用@dfsq上面建议的解决方案:
function Student(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
var student1 = new Student('Jane', 'Doe');
var student2 = new Student('John', 'Smith');
console.log(student1.firstName, student1.lastName);
console.log(student2.firstName, student2.lastName);
http://jsfiddle.net/8m7351fq/但是如果你必须按照上面指定的方式来做:
var students = {};
function addNewStudent(firstName,lastName){
students[firstName+lastName] = 'Some random data';
}
addNewStudent('Hero','Man');
console.log(students);
http://jsfiddle.net/em1ngm2t/1/相关文章:
- 导航到特定事件的另一个变量页面
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 将节点数据分配给另一个变量jstree
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 可以't将sessionStorage设置为Javascript中的一个变量
- 在Flickr API的标签参数中传递一个变量
- 从Jquery函数中获取一个变量
- 为两个ID设置一个变量的正确语法
- 如何将变量值附加到另一个变量
- 通过加载函数发送一个变量
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 如何在Jquery函数中为自动完成文本区域指定一个变量作为Id
- Javascript未在其中一个变量上输出0
- 保留“;这个“;在一个变量中;这个“;使用此变量
- 是否可以在另一个变量中使用未声明的变量
- JS/ANGULAR使用一个变量's值作为另一个对象的键
- 如何每秒从一个变量中提取一定次数的javascript/html