Javascript 如何将函数参数强制转换为图像?

Javascript 如何将函数参数强制转换为图像?,javascript,Javascript,我在一个函数中有一个参数,它将是一个图像。现在我想对该对象进行一些检查,比如它是否未定义,如果不是,对象中图像的来源是什么 问题是我不能请求img.src,因为变量只是一个未类型化的参数。我想创建一个次要的Image()对象,然后用imgObject=img以某种方式解决它,但这看起来很愚蠢,可能不起作用 那么,我如何在代码中简单地声明一个参数是Image类型的,并且我希望为该对象请求特定的Image类型方法呢?这与变量类型无关。JavaScript没有用于变量的静态类型,因此“只是一个未类型化

我在一个函数中有一个参数,它将是一个图像。现在我想对该对象进行一些检查,比如它是否未定义,如果不是,对象中图像的来源是什么

问题是我不能请求
img.src
,因为变量只是一个未类型化的参数。我想创建一个次要的
Image()
对象,然后用
imgObject=img
以某种方式解决它,但这看起来很愚蠢,可能不起作用


那么,我如何在代码中简单地声明一个参数是Image类型的,并且我希望为该对象请求特定的Image类型方法呢?

这与变量类型无关。JavaScript没有用于变量的静态类型,因此“只是一个未类型化的参数”的变量是一种误导。如果对象是图像,则可以将其视为图像。如果将其视为图像不起作用,则错误的内容会传递到函数,而这正是您需要解决的问题。

我不理解。请详细说明。现在,
var foo=new Image()
将创建一个新的图像对象,并将对它的引用放入
foo
@jAndy谢谢。是的,我同意这个描述看起来很弱。我会更新它。
param instanceof Image
可能会有用,这取决于您尝试执行的操作。JavaScript是一种动态语言,您不能说您期望的是图像。但是,您可以在函数代码中进行手动检查,查看该值是否为instanceof Image(Matt在上面提到过)。另一方面,你可以尝试使用打字脚本,但这只适用于VS。我相信你是绝对正确的。我对Javascript非常陌生,但我对Java有相当多的经验,我很难区分它们之间的区别。我没有看到IDE中弹出的
.source
作为一种可能的方法,所以我只是假设它必须进行类型转换。但当然,这取决于浏览器,而不是IDE。我想我写这个问题有点太早了,所以一旦我确认我提出这个问题的理由是无效的,我就会投票结束它。