今天學了JS的數(shù)據(jù)類型和基本用法糟红,然后我就來總結一下吧!
Js的基本數(shù)據(jù)類型
Number 數(shù)字
String 字符串
Bool 布爾
Symbool 符號
Undefined
Null
Object
1、bool
bool只有兩個值:true和false
false又有6個falsy(是false又不是false)的值
分別為:undefined盆偿、null掩蛤、NaN、''(空字符串)陈肛、0(零)以及
document.all(為了區(qū)別IE和其他瀏覽器,在IE上為真兄裂,其他瀏覽其上為假)
undefined:是默認的空值
null:是主動賦予的空值
2句旱、變量聲明
注意:聲明時即指定了值,也指定了類型
let a=1 // 新語法
const a=1 //聲明時必須賦值晰奖,有且僅有一次賦值谈撒,且不能再改
JS基本用法
1、對象定義:
無序數(shù)據(jù)的集合匾南、鍵值對的集合
2啃匿、寫法:
let obj = {'name':'frank','age':18}
let obj = new Object({'name':'frank'})
console.log ({'name':'frank'}) //匿名對象
//name是鍵key,frank和18是值value蛆楞;key和value就是鍵值對
注意:
鍵名是字符串溯乒,引號內可包含任意字符
引號可省略,省略后只能是標識符
就算引號省略了鍵名也是字符串
3豹爹、刪除對象的屬性
delete obj.xxx 或 delete obj['xxx'] //即可刪除obj的xxx屬性
例子
var obj = {name:'frank','age':18}
刪除'name'屬性:delete obj.name 或 delete obj ['name'] //屬性裆悄、值、槽位一起刪除
刪除'age'的值:obj.age = undefined //只刪除值
驗證方法
'name' in obj === false //表示name不存在
'name' in obj && obj.xxx === undefined //表含屬性名臂聋,但值為undefined
obj.xxx === undefined //不能斷定xxx是否為obj的屬性
4光稼、查看對象的屬性(讀屬性)
obj.['key'] //[]語法
obj.key //點語法
Object.keys/values(obj) //查看自身所有屬性/值
console.dir (obj) //查看自身+共有屬性,dir:目錄
obj 或 Object.entrise(obj) //查看自身的屬性和值
obj.hasOwnProperty('toString') //判斷一個屬性是自身的還是共有的
注意:讀對象的屬性時,如果使用 [ ] 語法孩等,那么 JS 會先求 [ ] 中表達式的值艾君,注意區(qū)分表達式是變量還是常量。如果使用點語法肄方,那么點后面一定是 string 常量冰垄。
5、修改或增加對象的屬性
注意:無法通過自身修改或增加共有屬性
直接賦值
let obj = {name:'frank'} //name是字符串
obj.name = 'frank' //name是字符串
obj.['name'] = 'frank' / obj.['na'+'me'] = 'frank'
先聲明 let key = 'mane'
obj[key] = 'frank' //key是變量
批量賦值
object.assign(obj,{age:18,gender:'man'})
6权她、'name' in obj和obj.hasOwnProperty('name') 的區(qū)別
'name' in obj 表示查看屬性是否存在(去原型找) //存在返回true
obj.hasOwnProperty('name') 判斷一個屬性是自身的還是共有的 (不去原型找)//自身的返回true
結語:這就是我今天的全部總結了播演,感謝瀏覽!