詳細モードとそれぞれのexternでgoogle閉包コンパイラを理解することはできません。この関数の外部関数は何ですか?
具体的には:私は自分のHTML(<a href="javascript:searchAddress();">
)から呼び出す必要があるので、高度なモードでCCにこの関数の名前を変更する方法を誰に教えてください。
function searchAddress() {
geocoder = new google.maps.Geocoder();
var useraddress = $('#where').val();
if (geocoder && useraddress) {
geocoder.geocode({'address': useraddress, 'region': region}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
myPosition = results[0].geometry.location;
myAccuracy = 150;
echoAddress(results[0].formatted_address);
}
});
}
}
私は、私は機能が
window['searchAddress'] = searchAddress
または
function searchAddress() {}
が、これらのどれものようなものを渡して、外部コードから呼び出されているので、のexternファイルを作成する必要があります理解と思いましたいくつかの他の試行が行われます。 CCは、エラーなしでコンパイルが、ブラウザはCCによって削除されました
Uncaught exception: ReferenceError: Undefined variable: searchAddress
searchAddressを()文句を言うと、もう私のmin.js中の関数名ではありません。ヒントありがとう。説明は、ありがとう、感謝します。
この場合、エクスターナルは必要ありません。これで十分です。 function searchAddress(){ alert( "me"); } ウィンドウ['searchAddress'] = searchAddress; これは私のためにコンパイルします: window.searchAddress = function(){alert( "me")}; – John
私はあなたが輸出品と混乱していると思います。 Externsは名前の変更を防止します。エクスポートによってデッドコードの削除が防止されます。 "window [...] = ..."トリックは、関数をエクスポートする適切な方法です。 –