-
嚴(yán)格模式
查看全部 -
類型檢驗(yàn)小結(jié)
查看全部 -
ssdasdasdasd
sdasdasds?
查看全部 -
1:31
查看全部 -
哈哈哈
查看全部 -
哈哈哈哈哈
查看全部 -
改哈哈哈哈哈哈哈哈哈哈哈哈
查看全部 -
null 空對(duì)象也是對(duì)象,就是它是空。
查看全部 -
原始類型:string,number,null,布爾,undefined
對(duì)象類型:函數(shù),對(duì)象,數(shù)組,日期都屬于對(duì)象類型查看全部 -
完成學(xué)習(xí)第二階段:全盤回顧,腳踏實(shí)地跟隨學(xué)習(xí),做筆記實(shí)操。
查看全部 -
完成學(xué)習(xí)第一階段:快速獲取認(rèn)知。
查看全部 -
.
查看全部 -
基礎(chǔ)
查看全部 -
不加感嘆號(hào)會(huì)認(rèn)為是函數(shù)聲明,會(huì)前置,只剩下括號(hào),會(huì)報(bào)語法錯(cuò)誤
查看全部 -
unshift可以在頭部添加元素
查看全部 -
var a = b = 1
隱式創(chuàng)建了全局變量b
查看全部 -
1. 原始表達(dá)式 //常量、直接量、關(guān)鍵字、變量
? 常量,直接量 ?3,14 ?"test"
? 關(guān)鍵字 null ?this ?true
? 變量 i,j,k
2. 初始化表達(dá)式
? [1,2] ? new Array(1,2)
? [1,,,4] [1,undefined,undefined,4]
? {x:1,y:2} var o=new Object();o.x=1;o.y=2;
3. 函數(shù)表達(dá)式
? var fe = function(){}
? (function(){})()
4. 屬性訪問表達(dá)式
? var o = {x:1}、o.x、o['x']
5. 調(diào)用表達(dá)式 //func()
6. 對(duì)象創(chuàng)建表達(dá)式
? var temp=new Func(1,2)//有參數(shù),沒有參數(shù)時(shí)也可以把括號(hào)直接去掉
? var temp=new Object;//沒有參數(shù)
? { x : 1, y : 2} 等價(jià)于 var o = new Object();o.x = 1; o.y = 2;查看全部 -
屬性有屬性標(biāo)簽,對(duì)象也有對(duì)象標(biāo)簽
proto標(biāo)簽(原型鏈)
class標(biāo)簽(表示對(duì)象的類型)
extensible(對(duì)象是否可擴(kuò)展(屬性是否可添加))
var obj={x:1,y:2}
Object.isExtensible(obj);//true當(dāng)前obj對(duì)象可擴(kuò)展
Object.preventExtensions(obj);//修改obj對(duì)象的extensible標(biāo)簽為false
Object.isExtensible(obj);//false
Object.getOwnPropertyDescriptor(obj,'x');
//Object{value:1,writable:true,configurable:true,enumerable:true}
Object.seal(obj);//將對(duì)象修改為不可刪除、不可修改屬性標(biāo)簽
//Object{value:1,writable:true,configurable:false,enumerable:true}
Object.isSealed(obj);//判斷對(duì)象是否被seal操作。//true
Object.freeze(obj);//設(shè)置對(duì)象不可改不可寫不可被枚舉不可被刪除;
//Object{value:1,writable:false,configurable:false,enumerable:false}
Object.isFrozen(obj);//判斷對(duì)象是否被‘凍結(jié)’
extensible標(biāo)簽只能對(duì)相應(yīng)的對(duì)象進(jìn)行修改,并不影響原型鏈。
序列化:JSON.stringify(obj);//將字符串傳給后端
JSON.parse('{x:1}');從后端傳給前端
查看全部 -
獲得該對(duì)象下的指定屬性的所有屬性標(biāo)簽:object.getOwnPropertyDescriptor(對(duì)象,屬性名)
object.getOwnPropertyDescriptor({pro:true},'pro')//value、writable、enumerable、configurable
object.getOwnPropertyDescriptor({pro:true},'a')//undefined
var person ={};//創(chuàng)建一個(gè)新的對(duì)象
Object.definedProperty(person,'name',{屬性標(biāo)簽})//添加person對(duì)象的屬性name,并設(shè)置屬性標(biāo)簽
屬性標(biāo)簽={value:'bs',writable:false,enumerable:true,configurable:false}
Object.defineProperty(person,'type',{configurable:true,writable:true,enumerable:false,value:'object'})
Object.keys(person);返回person對(duì)象上所有的屬性,//name,因?yàn)閠ype不可被枚舉、遍歷
Object.defineProperties(person,{屬性1:{相應(yīng)屬性標(biāo)簽},屬性2:{相應(yīng)屬性標(biāo)簽}})//設(shè)置person對(duì)象多個(gè)屬性。
查看全部 -
get/set方法
get+屬性名+函數(shù)體(獲得時(shí)調(diào)用此函數(shù)),
set+屬性名+函數(shù)體(賦值時(shí)調(diào)用)
object.create(x)方法會(huì)返回一個(gè)對(duì)象y,y的屬性基于x的屬性
查看全部 -
var obj={x:1,y:2}
obj.x;//1
obj['y'];//2
for in有可能會(huì)讀出原型鏈上的屬性,并且順序無序
屬性讀寫:
var ovj={x:1}
obj.y;//原型鏈上也沒有,返回undefined
var yz=obj.y.z;//typeError
obj.y.z=2;//typeError
var yz;(定義一個(gè)yz用于存放obj.y.z)==? var yz=obj&&obj.y&&obj.y.z
if(obj.y){
yz=obj.y.z;
}
屬性刪除:
var person ={age:28,title:"fe"}
delete person.age;//true表示刪除成功
delete persong["title"];//true
person.age//undefined
delete persong.age;//true,只要這個(gè)對(duì)象上不存在這個(gè)屬性,用delete就會(huì)返回true
delete Object.prototype;//false
Object.getOwnPropertyDescriptor(對(duì)象,"屬性");返回對(duì)象上的這個(gè)屬性下的標(biāo)簽
var descriptor=Object.getOwnPropertyDescriptor(Object,"prototype")
descriptor.configurable;//false表示不可被配置
全局變量,函數(shù)中的局部變量都不能被刪除,隱式的定義全局變量的方法可以被刪除,通過evalu定義的變量可以被delete刪除
var globalval=1;
delete globalval;//false? ??
function(){ var localval=1; return delete localval? ?}//false
ohNo =1;
window.ohNo;//1
delete ohNo;//true
屬性檢測(cè):
對(duì)象.hasOwnProperty("屬性名");判斷對(duì)象上是否有這個(gè)屬性
cat.hasOwnProperty("leg");//true有
cat.hasOwnProperty("toString");//false對(duì)象上沒有,但是原型鏈上有,檢測(cè)不到
Enumerable(true可以被枚舉、顯示;false不能被枚舉)
cat.hasOwnProperty("leg");//true(只查找對(duì)象下的屬性)
cat.hasOwnProperty("toString");//false在查找屬性的時(shí)候就不會(huì)顯示出來
用賦值、new Object方式定義對(duì)象的屬性值的屬性標(biāo)簽?zāi)J(rèn)為true(可讀、可寫、可枚舉 等)
用Object.defineProperty(對(duì)象名,"屬性名","屬性下的標(biāo)簽")方法創(chuàng)建的對(duì)象的屬性的屬性標(biāo)簽?zāi)J(rèn)值為false
Object.defineProperty(cat,"price",{enumerable:false,value:1000});創(chuàng)建一個(gè)有price屬性且不可枚舉,值為1000的cat對(duì)象
cat.propertyIsEnumerable("price");//false因?yàn)椴豢擅杜e,返回false
cat.hasOwnProperty("price");//true
propertyIsEnumerable查找的是目標(biāo)對(duì)象所有可遍歷可枚舉的屬性;
hasOwnProperty查找的是目標(biāo)對(duì)象自身可遍歷的屬性;
查看全部 -
創(chuàng)建對(duì)象的方式: var obj1={x:1,y:2};
var obj2 ={x:1,y:{a:2,b:3},z:4}? ?屬性中還可以繼續(xù)嵌套對(duì)象
用自變量創(chuàng)建的對(duì)象就有原型,指向Object.prototype
原型鏈: 每個(gè)對(duì)象obj都有一個(gè)proto標(biāo)簽,指向?qū)ο蟮脑玩?,原型鏈中的proto指向Object.prototype指向null
當(dāng)對(duì)對(duì)象添加一個(gè)屬性并賦值的時(shí)候,不會(huì)向?qū)ο蟮脑玩湶檎?,所以新屬性別添加在對(duì)象中
如果要從元原型鏈上得到某個(gè)屬性的屬性值,可以用delete.obj.z刪除對(duì)象上屬性z
obj.z;再次查找屬性z時(shí),不在對(duì)象上,則會(huì)繼續(xù)往原型鏈上找,找得到則返回,找不到則返回undefined
var obj = Object.create({x:1})(系統(tǒng)內(nèi)置的函數(shù),會(huì)接受一個(gè)對(duì)象的參數(shù))讓新創(chuàng)建的對(duì)象的原型指向參數(shù)
obj.x;//1
查看全部 -
對(duì)象中的屬性是無序的,每個(gè)屬性都有一個(gè)字符串key和對(duì)應(yīng)的value
每個(gè)屬性都有屬性標(biāo)簽(訪問權(quán)限的控制):writable(可讀/不可讀)、enumerable(可枚舉/不可)、configurable(可刪除/不可)、value、get/set(方法)
每個(gè)對(duì)象都有一個(gè)原型,每個(gè)對(duì)象都有一個(gè)proto對(duì)象屬性()、class標(biāo)簽(表示對(duì)象屬于哪個(gè)種類)、extensible標(biāo)簽(對(duì)象是否允許繼續(xù)增加屬性)
查看全部 -
函數(shù)聲明:function fd (){}? ? ? 函數(shù)表達(dá)式:var fe = function(){}
var p;? var obj ={x:1,y:2}? ? for(p in obj){}? ? ?1、順序不確定? 2、enumerable為false時(shí)不出現(xiàn)? 3、for in對(duì)象屬性時(shí)受原型鏈影響
查看全部 -
try{}catch(){}finally{}
先執(zhí)行try中的代碼,如果發(fā)生異常則進(jìn)入catch,最后執(zhí)行finally
查看全部 -
var a=1;a定義的是一個(gè)局部變量
var a=b=1;定義a是一個(gè)局部變量,b是一個(gè)全局變量
var a=1,b=1;a、b定義的都是局部變量
查看全部 -
var val =(1,2,3)//逗號(hào)運(yùn)算符,取最右邊的數(shù)//3
delete運(yùn)算符 : delete obj.x
var obj={x:1}
obj.x;;? //1
delete obj.x;
obj.x; //undefined
var obj ={}
Object.defineProperty(obj,'x',{ configurable:false , value:1}) configurable為false是對(duì)象的值不可刪
delete obj.x;//false
obj.x;//1
in運(yùn)算符 : window.x =1(定義一個(gè)全局變量x)? ? ? ? 'x' in window; //true? ? ?'x'表示屬性
typeof、instanceof、this、new、void運(yùn)算符
查看全部
舉報(bào)