js,使用函式過程中,寫不寫new的區別

2021-07-08 23:15:21 字數 955 閱讀 1777

1樓:匿名使用者

new宣告的是一個物件,而不是函式 而直接寫函式,那就不是物件,是無法呼叫物件的屬性的。

如果不new,直接呼叫yourfunc,不做物件的初始化;

如果new,先初始化一個物件,然後呼叫yourfunc作為初始化函式。

初始化物件的時候,會把所有yourfunc.prototype的屬性方法,copy一份給這個物件;意味著你在yourfunc裡面如果呼叫this.a this.

b this.c this.sayhello,都已經被初始化過一次了。

2樓:把我暱稱還來

function yourfunc()else// ending of yourfunc's code}yourfunc.prototype=

};yourfunc.prototype.sayhello=function();

區別是如果不new,直接呼叫yourfunc,不做物件的初始化;

如果new,先初始化一個物件,然後呼叫yourfunc作為初始化函式。

初始化物件的時候,會把所有yourfunc.prototype的屬性方法,copy一份給這個物件;意味著你在yourfunc裡面如果呼叫this.a this.

b this.c this.sayhello,都已經被初始化過一次了。

3樓:匿名使用者

一樣,你不寫的話,系統隱式的認為你寫了。寫不寫都是需要new的

怎麼就沒有意義了,不寫的話是因為長時間使用下來,很方便,這是約定俗成的,雖然不寫但是就是這個意思,你不說別人也知道是怎麼回事,同時這也是一種容錯能力,有人可能忘了寫或者其他情況這時候,**也可以順利執行。你寫了的話,可讀性就增強了,一目瞭然,適合給那些基礎較差的人看,不至於讓人不明白。

4樓:牛犇小童鞋

new 是建立新物件,沒有new不就是已存在的物件呼叫函式嗎,沒明白

編寫程式,使用函式過程的方式求和數s

int sum int n int bosum int n 呵呵,自己推下公式吧 s 1 1 2 1 2 3 1 2 3 n n n 1 2 n 1 12 n n 1 4 n n 1 n 2 6 public function ssum byval n as int32 as int32 retur...

sql儲存過程中如何使用declare有的儲存過程宣告瞭,有的沒有宣告。請回答的詳細點。。謝謝

如果你把儲存過程看作是批處理語句就好理解多了!儲存過程只不過是一個帶著名稱的sql批處理語句,如果在整個過程中需要變數時就是可以宣告,但該變數宣告後只能存活在批處理 儲存過程 的執行中,執行完畢後就會消失,這種宣告的格式就是 declare 變數名 型別 其中變數名為了與資料庫中的列名相互區別,所以...

sql儲存過程中如何插入使用臨時表

在儲存過程中 是不可以建立臨時表的.建議使用表變數代替臨時表進行操作 或者在儲存過程外面建好臨時表 祝你好運 可以使用如下方法 declare sql varchar 2000 begin set sql select into tmp from student print sql exec sql...