Javascript 检查函数调用的参数类型是否正确

Javascript 检查函数调用的参数类型是否正确,javascript,types,constructor,arguments,eval,Javascript,Types,Constructor,Arguments,Eval,是否有方法检查函数调用是否具有正确的参数类型。 假设我有一个名为changeCar的函数,它接受两个参数,一个是Car类型,另一个是String类型 function Car(){ this.make="generic"; } function changeCar(car,mytype){ car.make=mytype; } var mycar=new Car(); changeCar(mycar,"ferrari"); 有没有办法判断我的车和“法拉利”是不是正确的赛车类型? 如果可能,

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

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

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

var mycar=new Car();
changeCar(mycar,"ferrari");
有没有办法判断我的车和“法拉利”是不是正确的赛车类型? 如果可能,我需要在脚本运行之前执行此操作,可以使用eval或try/catch查找错误

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

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

FTW.

检查toLowerCase是否比执行类似
String(mytype)==mytype
的检查有优势?(注意没有新的
)他试图检查代码是否有错误,而不是检查函数参数是否正确。他想“编译”并得到“编译时错误”。因此,这不是答案。