今更ながらというか、JSのこと大して理解できていないことが良く分かった今回のJS。
色々と実行文を書いていましたが、部分的に分けていたJSを別の所でも書いていて、どうせならそれをちょっと加工して使えばいいか的な考えでいました。
例えばbuttonをクリックするとアラート表示という単純なものを準備するとします。
<script>
$(function(){
$(buttion).on('click', function(){ viewAlert() })
})
function viewAlert() {
alert("アラート表示");
}
</script>
jQueryの$(function)で囲った内部で、ボタンクリックすると外側にある関数を実行する文を書いています。HTMLでbuttonタグで表示しているボタンをクリックすると「アラート表示」と画面に表示するもの。
このviewAlert()を例えば別の場所で$(function)内に設置していたとして、それを呼び出そうとしてみました。
<script>
$(function(){
$(buttion).on('click', function(){ viewAlert() })
})
</script>
......
......
<script>
$(function(){
function viewAlert() {
alert("アラート表示");
}
})
</script>
これでボタンをクリックすると、なんとこの関数はないとエラーが表示しました。
$(function)で囲まず外に出してあげるとアラートは表示。囲ってしまうと見つけられなくなるという動作が見られました。知らなかった。
つまり、$(function)で囲むと一つのjsファイルでまとめたもののような感じになり、他ファイルからは実行できなくなるみたいなものか?
共通で使うのであれば囲むなってことで良いのかな?もっと勉強が必要ですねー。