1.函數自執行css
JavaScript中不像C#中那樣要求全部路徑都有返回值,沒有返回值就是undefined數組
(function(){alert(1);}()); ide
(function(){alert(1);})(); 函數
!function(){alert(1);}(); spa
void function(){alert(2);}(); ip
2.可變參數get
js函數沒法像C#方法那樣重載 下面的代碼等因而對a函數從新定義it
function a() {io
alert("無參函數");function
}
function a(p1) {
alert("一個參數函數");
}
function a(p1,p2) {
alert("兩個參數函數");
}
//結果所有是 兩個參數函數
a();
a(2);
a(1, 2);
利用arguments內置數組
function css() {
if(arguments.length==2) //取值
{
return arguments[0].style[arguments[1]];
}
else {
arguments[0].style[arguments[1]] = arguments[2]; //賦值
}
}
window.onload = function () {
var oDiv = document.getElementById('div1');
alert(css(odiv, 'width'));
css(odiv, 'background', 'green');
}
三、預解析
var a = 10;
function A()
{
alert(a); //undefined
var a = 20;
//var a;
//alert(a);
//a=20;
}
A();
//結果20
function Test()
{
function A() {
return 10;
}
alert(A());
function A() {
return 20;
}
}
Test();
開啓定時器:
setInterval 間隔性
setTimeout 延時型
中止定時器(根據返回值)
clearInterval()
clearTimeout()
定時器執行函數 參數爲 "函數名()" 若是是function(){}會當即且只執行一次