在javascript中,什么是构造函数?什么不是?

Him*_*ors 2 javascript jquery constructor

我正在使用jQuery的插件.它在webkit中运行良好,但是当我在firefox中尝试它时,我得到以下firefox错误:

google.maps.Geocoder is not a constructor
$('.to, .from').geo_autocomplete(new google.maps.Geocoder, { 
Run Code Online (Sandbox Code Playgroud)

这是所有的jquery:

$('.to, .from').geo_autocomplete(new google.maps.Geocoder, {
mapkey: 'ABQIAAAAbnvDoAoYOSW2iqoXiGTpYBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQNumU68AwGqjbSNF9YO8NokKst8w', 
selectFirst: false,
minChars: 3,
cacheLength: 50,
width: 235,
scroll: true,
scrollHeight: 330
});
Run Code Online (Sandbox Code Playgroud)

什么是构造函数和firefox如何指出它?

http://dev.resihop.nu是该网站

Jac*_*kin 6

构造函数是函数(返回函数名称类型的对象),当您new与该函数的名称一起使用时调用该函数,例如:

function Person(name, age) {
   //blah
}

var me = new Person("Jacob", 20);
Run Code Online (Sandbox Code Playgroud)


bob*_*nce 5

任何本机函数都可以作为构造函数调用(即使它不是设计的).任何不可调用的东西也不能是构造函数.例如new 3给出相同的错误.

在您的页面中,google.maps.Geocoder简单地说undefined,这当然无济于事.查看Google的地图脚本,它无法加载Geocoder模块,因为它正在使用document.write这样做,这个方法必须<script>在解析时从HTML文档中包含的方法运行,而不是像在这里那样使用DOM脚本导入.

它当然不希望从通过客户端XSLT加载的页面运行.这将给你很多浏览器问题和零搜索引擎优化的存在.这种疯狂的目的是什么?