私はJavascriptとWeb開発を全く新しくしています。私は、Webページをプログラミングされたとき、私はデバッガで確認、2つのJavaScriptコード実行していないjavascriptコード実行を停止するhtmlページの別のJavaスクリプトコード
私は、Webページを開いた <script src="./js/jquery.js"></script>
<script src="./js/ABuilder.js"></script>
<script src="./js/BBuilder.js"></script>
<script>
$(document).ready()
{
initA();//a function from A
}
</script>
を作成し、機能initAは実行されませんでした。私が削除したとき。
<script src="./js/BBuilder.js"></script>
予想通りinitAが実行されました。しかし、どのように、私はBbuilder
var day;
var month;
function initB() {
var dataFile = "./js/b.json";
loadData(dataFile, loadB);
}
function loadData(jsonFile, callback) {
$.getJSON(jsonFile, function(json) {
callback(json);
});
}
function loadB(data) {
day = data.day;
month = data.month;
}
Abuildコード
var age;
var gender;
function initA() {
var dataFile = "./js/a.json";
loadData(dataFile);
}
function loadData(jsonFile) {
$.getJSON(jsonFile, function (json) {
loadA();
});
}
function loadA(data) {
age = data.age;
gender = data.gender;
}`
'.ready() 'が正しくありませんの使用。 '$(document).ready(function(){initA();})' – shaochuancs
"initA関数が実行されなかった"とはどういう意味ですか?上記の '.ready()'バグが修正されている場合、 'initA'が実行されます。しかし、 'loadData()'はBBuilder.jsによってオーバーライドされるので、 'loadA()'関数は実行されません。 – shaochuancs
@shaochuancs正しく理解すれば、私のプログラムが動作しない主な理由は、新しいjsファイルを導入するたびに、古いメソッドloadData()がオーバーライドされるためです。 loadData()メソッドの名前を変更することはできますか? Btw、私はjsの初心者なので、どのように2つのjsファイル間の多型関係を定義しましたか? –