4 回答
TA貢獻1842條經驗 獲得超22個贊
簡介:jq是js的一個框架,定義函數,其實就是js定義函數,而調用函數時,是通過事件觸發的。
函數定義:function funtionName(){}
調用函數:
舉例說明:
<input type="text" name="username" id="username" value=""/>
<input type="button" id="check" value="驗證"/>
<script>
$(function(){
$("#check").click(function(){
check_username();
})
});
function check_username(){
if(!$("#username").val())
{
alert("姓名為空");
}
}
</script>
TA貢獻1895條經驗 獲得超7個贊
用變量模擬的方法:
例:將變量parent當做父函數, 將其賦值child1, child2, child...等任意多子函數的哈希值作子函數. 調用使用用parent.childN這樣的形式也可實現類似"調用一個函數里面的函數"的方法
var parent = {
/*子函數1*/
child1:function(){
alert('child1');
},
/*子函數2*/
child2:function(){
alert('child2');
},
/*子函數.....*/
};
parent.child1();
輸出:child1
這里用變量parent模擬了一個父函數,
通過:
變量名.子函數();
的形式實現調用一個函數里面的函數
TA貢獻1795條經驗 獲得超7個贊
注意這是js函數.
這是一個js閉包(closure)問題, 這個問題主要的特點就是定義變量的作用域.
1:函數內部可以直接讀取全局變量.
2:函數外部無法讀取函數內的局部變量.
這個例子中對于c()來說a()內部函數b()是局部變量, 不可以直接調用.
可改為以下方式調用:
| 123456789 | function a(){ this.b = function(){ console.log('a().b()'); }}function c(){ var object = new a(); object.b();} |
- 4 回答
- 0 關注
- 461 瀏覽
添加回答
舉報
