屬性操作的兩種方式
1、"." oDiv.style.background window.console.log()
+ []的寫法: oDiv["style"]["background"]
2、[]
+ 數(shù)字不能用點(diǎn),只能用[ ]; 變量必須用[ ];
+ 所有"."能操作的屬性,都能用[]來寫;
=
- "=" 等號(hào)是用來賦值的
- "==" 雙等用來比較的,他是非嚴(yán)格比較
- 非嚴(yán)格比較:只比較結(jié)果,不比較數(shù)據(jù)類型 比如 "2"==2 true
- "===" 三等用來比較的,他是嚴(yán)格比較
- 嚴(yán)格比較:即比較結(jié)果,也比較數(shù)據(jù)類型 比如 "2" == 2 false
請實(shí)現(xiàn)左邊寬度固定為200,右邊寬度自適應(yīng); 最少用三種
思路1:左邊浮動(dòng),右邊margin-left
思路2:絕對定位
*{
margin: 0;
padding: 0;
}
body{
overflow: hidden;
}
.container div{
position: absolute;
left: 0;
top: 0;
font-size: 30px;
}
.left{
width: 200px;
height: 400px;
background: #ff0000;
word-break: break-all;
}
.right{
width: 100%;
height: 400px;
background: #ff00ff;
margin-left: 200px;
word-break: break-all;
}思路3 :絕對定位
*{
margin: 0;
padding: 0;
}
body{
overflow: hidden;
}
.container div{
position: absolute;
height: 400px;
word-break: break-all;
top: 0;
font-size: 30px;
}
.left{
width: 200px;
left: 0;
background: #ff0000;
}
.right{
background: #ff00ff;
left: 200px;
}思路4 :flex布局
*{
margin: 0;
padding: 0;
}
body{
overflow: hidden;
font-size: 50px;
}
.container{
display: flex;
flex-direction:row;
}
.left{
width: 200px;
height: 400px;
background: #f00;
}
.right{
width: 100%;
height: 400px;
background: #ffff00;
}
出現(xiàn)省略號(hào)的樣式
white-space: nowrap; 不折行
text-overflow: ellipsis; 當(dāng)文本溢出的時(shí)候,以什么形式來展示,ellipsis代表省略號(hào)
overflow: hidden; 內(nèi)容溢出隱藏
switch的坑
- 注意:switch是嚴(yán)格比較
數(shù)據(jù)類型
- 數(shù)據(jù)類型的判斷 type of
- 數(shù)據(jù)類型包含:
- 基本數(shù)據(jù)類型:string ,number ,boolean,null,undefined
- 引用數(shù)據(jù)類型:
- 對象數(shù)據(jù)類型:object array Date RegExp
- 函數(shù)數(shù)據(jù)類型: function
- null和undefined
- null代表的是現(xiàn)在沒有,以后會(huì)有
var data=null; 只有等到請求結(jié)束的時(shí)候,才能給data賦值; data=[{},{}....] - undefined 代表現(xiàn)在沒有,以后也沒有
- 函數(shù)沒有返回值
- 沒寫return
- 寫了return但沒有返回值
- 對象的某個(gè)屬性不存在的時(shí)候,我們拿到的值就是undefined;
- 定義了形參,但沒有賦值;
- 函數(shù)沒有返回值
- null代表的是現(xiàn)在沒有,以后會(huì)有
- 對象object {}
- 語法{k:v,k:v}
- 對象的遍歷,用 for..in
for(var attr in obj){ attr -> 屬性名 obj[attr] -> 屬性值 }- 對象的增刪改查
- 增 obj.xxx=xxxx;
- 改 obj.xxx=xxxxx; 區(qū)別,如果屬性名不存在,屬于增加,如果屬性名存在,屬于更改;
- 查 obj.xxx
- 刪除
- 真刪除
delete obj.xxx - 假刪除
obj.xxx=null;
- 真刪除
- 數(shù)組的語法:[x,x,x,x]
- 數(shù)組的循環(huán):
- for循環(huán) 常用!?。?!
- for...in 循環(huán)
- 數(shù)組的增刪改查
- 增加 ary[x]=xxxx;
- 更改 ary[x]=xxxx;
- 查:通過數(shù)組的索引進(jìn)行查找 ary[x]
- 刪除:通過delete不能刪除,只能通過數(shù)組常用的方法來刪除
- splice
- 如果是兩個(gè)參數(shù) 代表刪除
- 如果是三個(gè)參數(shù),且第二個(gè)參數(shù)為0 ,插入
- 如果是三個(gè)參數(shù),且第二個(gè)參數(shù)不為0, 替換
- splice
- 運(yùn)算符:
- "+" 具備兩個(gè)功能:
- 字符串拼接 優(yōu)先
- 運(yùn)算
- "+" 具備兩個(gè)功能:
運(yùn)算符
- 算術(shù)運(yùn)算符: + - * / %
- %的小技巧:有幾種情況就%幾;
- 除了+法,其他幾個(gè)都有隱式數(shù)據(jù)類型轉(zhuǎn)換的功能
- 比較運(yùn)算符: > < >= <= == === != !==
- 邏輯運(yùn)算符: && || !
- 常用&&代替if
bOk && alert('真真');- 常用||代替else
bOk || alert('假假'); - 賦值運(yùn)算符: + - += -= *= /= %=
- 運(yùn)算符的優(yōu)先級(jí) 算術(shù)> 比較 > 邏輯 > 賦值
數(shù)字 number
- 常用的方法 toFixed(保留幾位小數(shù)) 可以四舍五入的保留小數(shù)
- 字符串轉(zhuǎn)數(shù)字的方法中,有一個(gè)嚴(yán)格轉(zhuǎn)換,兩個(gè)非嚴(yán)格轉(zhuǎn)換
- 一個(gè)嚴(yán)格:Number()
- 兩個(gè)非嚴(yán)格:
- parseInt() 整數(shù)
- parseFloat() 保存小數(shù)
- 布爾值轉(zhuǎn)數(shù)字: true-》1 false-》0
- 對象也能轉(zhuǎn)數(shù)字: []->toString()轉(zhuǎn)成""字符串 -》 把""字符串通過Number() 轉(zhuǎn)成0
什么是真?什么是假?
- 除了這幾個(gè)為假的,其他都是真:
- false "" 0 NaN null undefined
== 數(shù)據(jù)類型之間的比較
1)對象和對象比較,按照地址進(jìn)行比較 [] == [] 引用數(shù)據(jù)類型,是對地址的比較
2)對象和布爾值進(jìn)行比較,按照數(shù)字進(jìn)行比較 []==![]
3)對象和字符串進(jìn)行比較,轉(zhuǎn)成數(shù)字 []==""
- 對象和數(shù)字進(jìn)行比較,轉(zhuǎn)成數(shù)字 []==0
- 字符串和數(shù)字進(jìn)行比較,轉(zhuǎn)成數(shù)字 ""==0
- 字符串和布爾值進(jìn)行比較,轉(zhuǎn)成數(shù)字 ""==false
- 數(shù)字和布爾值進(jìn)行比較 1==true false==0
- null==undefined true; null===undefined false
- NaN==NaN NaN跟誰都不相等,包括他自己