1.需要過渡動畫的套路代碼巫击,即數(shù)值的變化协饲,只需要找到開始量以及結(jié)束量即可
var start = 240; //開始量
var end = 0;? ? //結(jié)束量
var change = end - start;//變化量
var t = 0;
var maxT = 30;
var timer = setInterval(function() {
? ? ? ? ? t++;
? ? ? ? ? ?if(t >= maxT) {
? ? ? ? ? ? ? ? ? ? ? clearInterval(timer);
? ? ? ? ? ?}
box.style.backgroundColor = "hsl("+ (change/maxT * t + start) +", 100%, 50%)";
}, 30);
2. 函數(shù)的形式 3種
a.一般函數(shù)
b.對象的方法
c.構(gòu)造函數(shù) new Date()
this的指向
a.一般函數(shù)全局對象window障簿,在嚴格模式下僧鲁,為undefined
b.對象的方法里調(diào)用的馍管,this指向調(diào)用該方法的對象
c.構(gòu)造函數(shù)里的this钾麸,指向創(chuàng)建new出來的實例
3. Date 內(nèi)置的時間日期構(gòu)造函數(shù)(電子表/倒計時)
var date = new Date().getTime();// 返回的是1970到現(xiàn)在的毫秒數(shù),時間戳
date.getFullYear(); 年份
date.getMonth(); 月份鲫趁,從0開始
date.getDate(); 日期
date.getDay(); 星期幾
date.getHours();時
date.getMinutes();分
date.getSecondes();秒
4. string字符串斯嚎,基本數(shù)據(jù)類型中的一種
方法是屬于對象的,然而字符串也有方法挨厚?包裝對象
var str = "hello world";
str.length 字符串長度
str[0]? 獲取第一個字符堡僻,跟str.chatAt(0)【無兼容性問題】相等
str.split("") 將字符串轉(zhuǎn)換成數(shù)組
str.toUpperCase() 將字符串轉(zhuǎn)換成大寫
str.toLowerCase() 將字符串轉(zhuǎn)換成小寫
str.indexOf("s")? 查找s[字符或字符串]在str中的位置,找到返回下標(biāo)疫剃,找不到返回-1
str.substring(start, end) 字符串截取钉疫,不包括end下標(biāo)的字符
[start, end)
str.substr(start, length) 不推薦使用,新版ecma拋棄掉
str.replace("a","A")
str.replace() 參數(shù)可以是正則表達式
str.match()
str.search()
str.trim() // 去掉首尾空格巢价, es5新增字符串方法
5. 數(shù)組常用方法
var arr = [1,2,3,4];
arr.length; 可讀可寫
arr[0];
棧:先進后出牲阁,后進先出
隊列:先進先出
a.在數(shù)組末尾插入元素
arr.push(item1, item2, item3...) 參數(shù)可以設(shè)置多個,返回的是數(shù)組的長度
b.刪除數(shù)組里的最后一個元素
arr.pop() 返回數(shù)組最后一個元素
c.在數(shù)組的開頭插入元素
arr.unshift()
d.在數(shù)組的開頭刪除元素
arr.shift()
e.復(fù)制數(shù)組中的某部分壤躲,不影響原數(shù)組
arr.slice(start, end) [start, end)返回一個新數(shù)組
f. 剪切/粘貼城菊,對原數(shù)組產(chǎn)生影響
arr.splice(start, length) 返回的是原數(shù)組從start下標(biāo)開始的length個元素組成的數(shù)組
arr.splice(start, 0, "a","b") 在數(shù)組start位置插入元素"a","b"
g. 排序
arr.sort() 按照Ascii排序 美國標(biāo)準信息交換碼
arr.sort(function(a, b) {return a - b;}) 按照數(shù)值大小比較
arr.sort(function(a, b) { return (Math.random() - 0.5 > 0) ? (a -b):(b - a) })
數(shù)組元素隨機排列
h. 反轉(zhuǎn)數(shù)組
arr.reverse();
es5 中新增的數(shù)組方法
arr.indexOf()? //判斷數(shù)組里是否存在某個元素,找到返回下標(biāo)柒爵,找不到返回-1
arr.every()
arr.some()
arr.forEach()
arr.map()
arr.filter()
6. 按值傳遞 基本數(shù)據(jù)類型的賦值
按引用傳遞 復(fù)合數(shù)據(jù)類型的賦值
{} === {}? false 指向的不是同一個對象役电,同一個對象的時候才相等
7. eval 將字符串轉(zhuǎn)換成語句執(zhí)行,不推薦使用棉胀,存在安全性以及性能問題
setInterval("clock()", 1000) 不推薦使用