将true类型作为参数传递给JavaScript中的方法
Pass the true type as a parameter to a method in JavaScript
我在JavaScript中有以下代码,其中我的目标是返回与为参数objectType
传递的类型匹配的所有对象。我尝试为objectType传递一个字符串,如Person
或Employee
,但随后instanceof
运算符抛出一个错误,称为expecting a function in instanceof check
。
问题:在下面的方法中,用JavaScript传递对象类型作为参数的正确方法是什么?此代码的演示不起作用,位于以下URL:此的演示
function getObjectsOfType(allObjects, objectType) {
var objects = [];
for (var i = 0; i < allObjects.length; i++) {
if (allObjects[i] instanceof objectType) {
objects.push(allObjects[i]);
}
}
return objects;
}
//CALL to ABOVE Method which throws an error
var personObjects = getObjectsOfType( allObjects, "Person");
var employeeObjects = getObjectsOfType( allObjects, "Employee");
//Person object constructor
function Person(fullname, age, city) {
this.fullName = fullname;
this.age = age;
this.city = city;
}
//Employee object constructor
function Employee(fullname, age, position, company) {
this.fullName = fullname;
this.age = age;
this.position = position;
this.company = company;
}
好吧,instanceof有一个问题,它不适用于基元(请参阅如何在JavaScript中获得对象类型的名称?)
有对象的东西要好得多,你应该只通过没有""的人
var personObjects = getObjectsOfType( allObjects, Person);
相关文章:
- 从Javascript方法返回全局变量
- 简单的JavaScript方法链接
- 如何为javascript方法放入jquery确认对话框
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在类外重写Javascript方法,使用默认行为
- 使用 JavaScript 方法滚动
- 如何从窗体调用外部javascript方法
- 使用c#在Web服务器上运行JavaScript方法
- 如何从角度 js 调用 javascript 方法
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 简单的javascript方法问题
- iframe未执行Javascript方法(PHP)
- Javascript 方法看不到对象变量
- 从HTML中的另一个文件访问javascript方法
- 如何测试只在闭包范围中可见的javascript方法
- 将php表转换为angularjs javascript方法
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- Java eqivalent method of “splice(a,b,..)“在 JavaScript 方法中
- 在客户端 Javascript 方法之后运行服务器方法