函式的宣告
function 關鍵字 function 函式名([形參])
表示式方式 var 函式名 = function([形參])
var 函式名 = new function('參1','jscode');
呼叫函式 加括號是呼叫 不加括號是引用該函式
js函式特點 可用重複定義 如果沒有返回值 預設返回undefined
js函式中的引數 1). 形參 與 實參 實參個數 > 形參個數 多餘的引數會被忽略 實參個數 < 形參個數 未賦值的引數自動賦值為undefined 2). 引數的預設值 在函式內部做判斷 是否為undefined 3). 可變引數個數的函式 arguments 陣列物件
js中的變數作用域 全域性和區域性變數 在函式內 使用var 定義的是 區域性變數 在函式外 使用var 定義的是 全域性變數 在函式內 不使用var 定義的是 全域性變數
js的作用域鏈
函式的執行 依賴於變數的作用域, 這個作用域是在 函式定義宣告時決定的,而不是 函式呼叫時決定的!
如果當前作用域裡 沒有宣告變數,則向上一層作用域裡面找. 如果直到找到全域性裡 還都未找到 則在執行函式時 會報錯.
自執行函式 與 閉包
自執行 ( function() )() ( function() () ) 這種寫法的含義是 將函式宣告 轉換成 函式表示式,消除了js引擎識別函式表示式 和 函式宣告的歧義. 告訴js引擎 這是乙個函式表示式,不是函式宣告,並且可以在後面 加括號,立即執行 函式的內的**.
閉包簡單說,閉包就是 能夠讀取 其他函式內部變數的 函式。 由於在js中,只有函式內部的 子函式 才能讀取 區域性變數, 因此可以把閉包 簡單理解成 "定義在乙個 函式內部的 函式"。 所以,在本質上,閉包就是將 函式內部 和 函式外部 連線起來的一座橋梁。
閉包的最大用處有兩個: 乙個是可以讀取 函式內部的變數, 另乙個就是 讓這些變數的值 始終保持在記憶體中。
建立物件
object 建構函式方式 var obj = new obejct();
json 方式 var obj = }
自定義建構函式方式 function 函式名() var obj = new 函式名();
匿名建構函式方式 var obj = new function()
測試屬性 所有的物件 都有建構函式 可以通過 constructor 屬性獲取某個物件的建構函式
js函式物件
function測試 函式是可以巢狀的 function functest return square 10 functest 在函式體內可以通過arguments.length獲取傳入函式的實參個數 function fun1 x,y fun1 10,1 將函式繫結到物件裡 var fun2 fu...
JS基礎 物件 函式
建立物件 方式一 var obj new object 方式二 var obj 向物件中新增屬性 語法 物件.屬性名 屬性值 物件 屬性名 屬性值 讀取物件中的屬性 語法 物件.屬性名 物件 屬性名 刪除物件中的屬性 語法 delete 物件.屬性名 delete 物件 屬性名 使用in檢查物件中是...
js函式物件建立
var book function name,title,price var book book js 2012 12.4 var book2 new book js 2012 12.4 上面建立的book與book2不同之處。執行一下 consol.log book 返回undefine 未定義 ...