看下面js**
function dwn(s)
function double(value)
var d1 = new double(1243.34);
var d2 = double(34.32);
dwn(d1);
dwn(d2);
[b]執行結果[/b]
function double(value)
function double(value)
function double(value)
undefined
[object object]
34.32
[b]說明:[/b]
this.constructor的值為 建構函式(如果被當作乙個建構函式的話);如果用普通方法呼叫時,它的值為undefined
arguments.callee用來引用當前正在執行的函式。
所以可以通過這兩個語法特性在函式裡判斷是哪種呼叫
function double2(value)
}else
}var d3 = new double2(1243.34);
var d4 = double2(34.32);
dwn(d3);
dwn(d4);
[b]結果:[/b]
建構函式:1243.34
普通函式:34.32
function作為建構函式和非構造函式呼叫的區別
var currenttime date 能生成乙個當前時間的日期物件,var currenttime new date 也能生成乙個同樣的物件。如果你看過一些框架,那麼你會發現有的框架生成物件寫法是 new classname 有的框架是 classname 那麼兩種方式有什麼區別呢?假設我們定義...
建構函式與普通函式執行區別
建構函式設計模式 當我們使用new 執行函式時,此時的函式變成了乙個類,返回結果叫做當前類的例項 普通函式執行 1.形成乙個新的私有作用域 2.形參賦值 3.變數提公升 4 自上而下之下 return的值就是要的結果 建構函式執行 1.形成乙個新的私有作用域 2.形參賦值 3.變數提公升 4.執行前...
建構函式和普通函式區別
第一次寫部落格,希望每天都可以堅持下來寫一點點小知識!建構函式和普通函式的區別 1.返回值型別的區別 建構函式無返回值 普通函式有返回值,即使無返回值,也要加乙個void 2.函式名的區別 建構函式的函式名必須與類名一致 普通函式的函式名只要符合識別符號的命名規範就好。3.呼叫方式的區別 建構函式是...