js深入理解(二)

2021-07-04 08:13:14 字數 1819 閱讀 4616

1.函式閉包

var scope = "global scope";

function checkscope ()

return f;

}//checkscope ()()輸出local scope

var scope = "global scope";

function checkscope ()

return f();

}//checkscope()輸出local scope

2.with語句 ,將物件屬性作用域鏈新增至頂層(在嚴格模式中不可用)

function lakers() 

var people=new lakers();

with(people)

(function ()()); //輸出 姓名: kobe bryant

年齡:28

性別:boy

3.為js新增斷點

function ddd(o);

}

4.物件引用,引用值改變,原物件值也跟著變。
function a() 

var c = a();

(function ()());//輸出:user ddd

5.建立物件的幾種方式。

//通過建構函式建立

var obj = new ddd("a1","a2");

function ddd (a1,a2,)

//物件直接量

var obj = ;

//通過繼承來建立

var a = ;

var obj = object.create(a);//obj繼承了a

6.獲取物件可列舉屬性

//獲取物件屬性名稱,返回陣列

object.getownpropertynames(obj);

//獲取物件屬性,返回陣列

object.keys(obj);

7.物件訪問器屬性

var o = ,

set setn(n)

} ;(function ()());//輸出 4

8.獲取物件屬性特性
//是否可讀

object.getownpropertydescriptor(,"x").writable

//獲取屬性值

object.getownpropertydescriptor(,"x").value

//是否可列舉

object.getownpropertydescriptor(,"x").enumerable

//是否可配置,該property的屬性是否可以修改,property是否可以刪除。

object.getownpropertydescriptor(,"x").configurable

9.定義屬性特性,不能定義繼承的屬性
var a = ;

object.defineproperty(a,"x",);

a.x = 3;

alert(a.x);//輸出 4

//定義多個屬性特性

(function ()};

object.defineproperties(a,,

y:,getn:,configurable:true,enumerable:true}

});    a.y = 3;

alert(a.getn);/輸出 2

}());

js深入理解 一

1if a b 兩者等價 a b alert hello word 2.給eval取別名var a 111 var b eval var c b a alert c 輸出 111 3.刪除元素 不能刪除 var語句宣告的變數 var o delete o.x alert o.x 輸出 undefin...

js深入理解(三)

1.物件的三個屬性 原型屬性 object.getprototypeof a 獲取a的原型 a.constructor.prootype 獲取a的原型 推薦 o.isprototypeof a 判讀o是否是a的原型 類屬性 function classof o classof o 輸出object ...

深入理解js繼承

var nam var man1 man1.name hkj man1.age 20 function man name,age var man2 man hkj 20 function man name,age var man3 new man3 hkj 20 vat man4 new man4 ...