0

有没有办法检查函数调用是否具有正确的参数类型。假设我有一个名为 changeCar 的函数,它接受两个参数,一个是 Car 类型,另一个是 String 类型。

function Car(){
this.make="generic";
}

function changeCar(car,mytype){
car.make=mytype;
}

var mycar=new Car();
changeCar(mycar,"ferrari");

无论如何,是否可以判断 mycar 和“ferrari”是否是运行 changeCar 所需的正确类型?如果可能的话,我需要在脚本运行之前执行此操作,可能使用 eval 或 try/catch 来查找错误。

该应用程序允许学生输入 javascript 脚本并查找函数参数和函数调用中的错误。

4

1 回答 1

0
function changeCar (car, mytype) {
    if ( car instanceof Car && mytype.toLowerCase ) {
        car.make = mytype;
    }
}

鸭子打字FTW。

于 2013-09-10T20:04:55.467 回答