我有我的JS对象。
function Foo() {
this.bar = new google.maps.LatLng(12, 34);
}
我也做了一个吸气剂和二传手:
Foo.prototype.SetBar = function(bar_arg) {
this.bar = bar_arg;
}
和
Foo.prototype.GetBar = function() {
return this.bar;
};
如何强制用户仅google.maps.LatLng
提供bar_arg
个对象?
换句话说,如果用户将调用this.setBar('i am a string')
而不是this.setBar(new google.maps.LatLng(56, 78))
,我想抛出异常来执行特定操作。 instalceof 是个好主意吗?如果是,那我该怎么检查?
if ( ! bar_arg instanceof google.maps.LatLng) { //throw new... }
或只是
if ( ! bar_arg instanceof LatLng) { //throw new... }
显然已加载Google Maps API。
答案 0 :(得分:2)
您使用instanceof
开启了正确的轨道。
事实上,对你的尝试略有修改:
if (!(bar_arg instanceof google.maps.LatLng)) { //throw new... }
应该正是你所需要的......