js 物件導向的程式設計,函式表示式

2022-04-09 19:19:30 字數 1251 閱讀 2459

物件導向的程式設計:

1、屬性型別:資料屬性、訪問器屬性

資料屬性:wirtable:false –唯讀;如果嘗試為它賦值,會忽略

configurable:false—不能從物件中刪除屬性

在呼叫object.defineproperty()方法時,如果不指定,configurable,enumerable(能否通過for-in迴圈輸出物件的屬性),writable的預設值是false;---直接在物件上定義的屬性,其預設值是true

2、 建構函式以及工廠模式:

//工廠模式

function creatperson(name,age,job)else{

sayhi=function(){

alert("uo");

3、遞迴函式是乙個函式通過名字呼叫自身,在呼叫自身函式的時候,使用arguments.callee代替函式名

4、閉包是指有權訪問另乙個函式作用域中的變數的函式,建立閉包的常見方式就是子啊函式內部建立另乙個函式

內部函式的作用域包含了外部函式的作用域

在匿名函式從外部函式被返回後,它的作用域被初始化為包含外部函式的活動物件以及全域性變數物件,匿名函式就可以訪問在外部函式定義的所有變數,外部函式執行完畢後,其活動物件也不會銷毀,直至匿名函式被銷毀後,外部函式的活動物件才會被銷毀

5、function assignhandler(){

var element=document.getelementbyid("some");

element.onclick=function(){

alert(element.id);

//只要匿名函式存在,element的引用至少是1,因此它占用的記憶體就永遠**不了

function assignhandler(){

var element=document.getelementbyid("some");

var id=element.id;

element.onclick=function(){

alert(id);

element=null;

//閉包會引用包含函式的整個活動物件,其中包含element

//即使閉包不直接引用element,包含函式的活動物件也依然會儲存乙個引用,所有element=null,解除對dom物件的引用

6、呼叫函式的方式是在函式名稱後面新增一對圓括號

將函式宣告轉化為函式表示式:

(function(){

7、在匿名函式中定義的任何變數在執行結束後會被銷毀

JS函式表示式

1.遞迴 function digui num else var d digui digui null d 3 改進 用arguments.callee num 1 代替 digui num 1 arguments.callee 是指向引數所在的函式的指標,code如下 function digui...

JS 函式表示式

引數1,引數2.call使用語法 函式名 方法名.call 物件,屬性1,屬性2.作用 可以改變this的指向 不同點 引數傳遞方式不同 bind是複製乙個方法或者函式 xw.say.call xh 注 math.random 返回介於 0 包含 1 不包含 之間的乙個隨機數 函式中幾個屬性 了解 ...

JS高階程式設計7 函式表示式

函式宣告提公升的概念 相對於函式表示式 176 不要這樣做 函式體內是宣告函式 因為函式相對於表示式是提公升的,會出現類似於函式過載的現象,zhezhong 語法是無效的 if condition else 可以這樣做 函式體內是函式表示式 var sayhi if condition else 遞...