//通過建立乙個名為f()的命名表示式,然後將它賦值給變數factorial
var factorial =
(function
f(num)()
else})
;
1.閉包的原理
2.閉包模仿塊級作用域
(
function()
)();
3.閉包建立私有變數
function
person
(name)
//私有函式
this
.publicmethod
=function()
;this
.getname
=function()
this
.setname
=function
(value)
}var person =
newperson
("nicholas");
alert
(person.
getname()
);//"nicholas"
peison.
setname
("greg");
alert
(person.
getname()
);//"greg"
(
function()
//私有函式
myobject
=function()
;//未使用var,全域性變數
myobject.prototype.
publicmethod
=function()
;var name ="";
//私有變數
person
=function
(value)
person.prototype.
getname
=function()
person.prototype.
setname
=function
(value)})
();var person1 =
newperson
("nicholas");
person1.
setname
("greg");
alert
(person1.
getname()
);//"greg"
var person2 =
newperson
("michael");
alert
(person2.
getname()
);//"michael"
alert
(person1.
getname()
);//"michael"
var
singleton
=function()
//私有函式
var object =
newcustomtype()
;// 建立物件
//新增特權(公有的屬性和方法)
object.publicproperty =
true
; object.
publicmethod
=function()
;return object;
// 返回這個物件}(
);
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 不包含 之間的乙個隨機數 函式中幾個屬性 了解 ...
函式表示式
函式定義有以下兩種方式 一種是函式宣告,一種是函式表示式。函式宣告 在執行 之前會先讀取函式宣告,即函式宣告提公升。函式表示式 常用語法形式是常規的變數賦值語句,即建立乙個匿名函式並賦值給乙個變數。函式表示式在使用之前必須賦值,否則會出錯,這點與函式宣告提公升不同。能夠將匿名函式作為其他函式的值進行...