-
js閉包(以下條件缺一不可)
外層函數(shù)返回一個(gè)內(nèi)層函數(shù)冷溃,內(nèi)層函數(shù)引用了外層函數(shù)中定義的一個(gè)或多個(gè)變量钱磅,就形成了閉包。
function test() {
var name = 'zhangsan';
var print = function() {
alert(name);
}
return print;
}
var func = test();
-
input監(jiān)聽事件總結(jié)
1.onfocus 當(dāng)input 獲取到焦點(diǎn)時(shí)觸發(fā)
2.onblur 當(dāng)input失去焦點(diǎn)時(shí)觸發(fā)似枕,注意:這個(gè)事件觸發(fā)的前提是已經(jīng)獲取了焦點(diǎn)再失去焦點(diǎn)的時(shí)候會觸發(fā)相應(yīng)的js
3.onchange 當(dāng)input失去焦點(diǎn)并且它的value值發(fā)生變化時(shí)觸發(fā)
4.onkeydown 在 input中有鍵按住的時(shí)候執(zhí)行一些代碼
5.onkeyup 在input中有鍵抬起的時(shí)候觸發(fā)的事件盖淡,在此事件觸發(fā)之前一定觸發(fā)了onkeydown事件
6.onclick 主要是用于 input type=button,當(dāng)被點(diǎn)擊時(shí)觸發(fā)此事件
7.onselect 當(dāng)input里的內(nèi)容文本被選中后執(zhí)行一段凿歼,只要選擇了就會觸發(fā)褪迟,不是非得全部選中
8.oninput 當(dāng)input的value值發(fā)生變化時(shí)就會觸發(fā),不用等到失去焦點(diǎn)(與onchange的區(qū)別)
-
獲得計(jì)算后的樣式
obj.style.XXXX //只能獲取html元素的行內(nèi)樣式
getComputedStyle(obj).XXX //獲得html元素計(jì)算后的樣式答憔,內(nèi)部樣式
- css盒子旋轉(zhuǎn)
transform: Rotate(x deg);
-
for 循環(huán)
for( var pro in obj){}//循環(huán)出對象的屬性
for(var item of map){}//循環(huán)map中的每個(gè)item
-
DOM元素屬性雙向綁定
let input = document.getElementById('demo');
function oninputCallback() {
console.log('oninput event ');
}
function onchangeCallback() {
console.log('onchange event');
}
Object.defineProperty(input, '_value', {
configurable: true,
set: function(value) {
this.value = value;
oninputCallback();
onchangeCallback();
},
get: function() {
return this.value;
}
});
input._value = ....; //這句話會調(diào)用set方法
var a = input._value; // 這句話會調(diào)用get方法
-
queryselector CSS樣式選擇器選擇DOM元素
document.queryselector('#id');
document.queryselector('.class'); //獲取第一個(gè)class為class的元素 返回Node
document.queryselectorAll('.class'); //獲取所有class為class的元素 返回NodeList[]
-
獲取css樣式里的浮動距離
document.queryselector('#id').offsetleft //獲取左浮動距離
document.queryselector('#id').offsetright //獲取右浮動距離
document.queryselector('#id').offsettop //獲取上浮動距離
document.queryselector('#id').offsetbottom //獲取底浮動距離
-
js 控制滾動條
scrollBy(xnum,ynum);
-
點(diǎn)擊a標(biāo)簽不做任何事情
<a href = '#'> </a> // 如果有滾動條牵咙,點(diǎn)擊則會返回頁面最頂層
<a href = 'javascript:;'> </a> //點(diǎn)擊不做任何事情
<a href = 'javascript:void(0);'> </a> //同上
-
confirm()
var res = confirm('確定取消嗎') // 彈出一個(gè)確定、取消的窗口攀唯,點(diǎn)擊確定則返回true洁桌,否則false
-
js控制地址跳轉(zhuǎn)
window.location.href = 'http://......' //在地址欄寫網(wǎng)址
-
js在select標(biāo)簽里增加options
var option = new Option();
option.innText = ...;
select.appendChild(option);
-
js數(shù)組清空的靈活方式
arr = [1,2,3,4];
arr.length = 1;
//[1]