[學習筆記]js動畫實現方法,做用域,閉包

一,js動畫基本都是依靠setInterval和setTimeout來實現javascript


1,setInterval是間隔執行,過一段時間執行一次代碼

setInterval(function(){},500);即每隔500毫秒執行一次function(),不主動中止,會一直作下去。java

2,setTimeout是延時執行,隔一段時間之後執行
setTimeout(function(){},500);即500毫秒之後執行函數function(),執行一次就結束了。
/*var a=0
var b=setInterval(function(){
console.log(a++);
if(a>5){
clearInterval(b);
}
},500);//間隔執行*/

setTimeout(function(){
alert("v");

},2000);//延時執行安全


二,做用域閉包


1,做用域是程序中定義這個變量的有效做用區域
代碼:function a(){
var b=0;
function c(){
var d=5;
}
c();
alert(b);
alert(d);
}
a();
只會彈出變量b,由於d只在函數c內生效。
2,全局變量和局部變量
有做用域限制的函數是局部變量。定義在最外面,全局生效的變量叫全局變量。
3,做用域鏈:即變量的查詢過程:由內到外。
 
彈出變量v,由於是在函數a內調用,因此先在函數a裏查詢,結果找不到,再向外一層查找v,找到後彈出。(若是全局也沒找到變量v,則會顯示no defined)
4,javascript裏沒有塊級做用域
即函數內定義的變量在函數外是拿不到的。
function(){var a=1 };
alert(a);//在函數外是沒有辦法調用變量a的。


三,閉包函數


1,閉包就是可以讀取其餘函數內部變量的函數。 2,讓這些變量的值始終保持在內存中。 3,閉包能夠保護函數內的變量安全。 //CSS3 4種變形方式:旋轉,平移,縮放,扭曲(斜切)
相關文章
相關標籤/搜索