有没有办法检查函数调用是否具有正确的参数类型。 假设我有一个名为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脚本并在函数参数和函数调用中查找错误。
答案 0 :(得分:0)
function changeCar (car, mytype) {
if ( car instanceof Car && mytype.toLowerCase ) {
car.make = mytype;
}
}
Duck typing FTW。