jquery function宣告
<body>
<button onclick="test()">aa</button>
</body>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
$(function() {
function test() {
console.log("aa")
}
})
</script>
複製程式碼
報錯
test55ss.html:12 Uncaught ReferenceError: test is not defined
at HTMLButtonElement.onclick (test55ss.html:12)
複製程式碼
因為$(function(),是html載入完成後才執行,此時的<button onclick="test()">aa</button>
,已經生成,但是對應的function test()
還沒有生成
$(function() {
})
複製程式碼
正確寫法
<body>
<button onclick="test()">aa</button>
</body>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
function test() {
console.log("aa")
}
</script>
複製程式碼
原生js和jquery對比
<body>
<button onclick="test1(this)">test1</button>
<button id="test2" onclick="test2()">test2</button>
</body>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
function test1(obj) {
$(obj).html("aa");
}
function test2() {
$("#test2").html("bb");
}
</script>
複製程式碼