[問題] 為什麼使用 (function(){}).call(this);

看板Web_Design作者 (Polo)時間11年前 (2014/04/27 17:28), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
我是一個剛使用Javascript的新手 我在很多場合看到別人寫的Javascript都使用 (function(){}).call(this); 把方法給包起來,我自已google了.call 這個方法,但還是想不懂為什麼要這樣做。 請問各位先進,這樣做的理由是為什麼呢? -- 就算離開了妳 我還是跟妳住在同一個夜晚底下 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.165.205 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1398590887.A.607.html

04/27 17:57, , 1F
避免變數汙染,如果那樣做的話,就能隔開函式內外的變數
04/27 17:57, 1F

04/27 18:40, , 2F
那和這種寫法 (function(){})(); 有差別嗎?
04/27 18:40, 2F

04/27 19:06, , 3F
使用上沒有,效率上可能有差
04/27 19:06, 3F

04/27 19:13, , 4F
想請問效能上差在哪?
04/27 19:13, 4F

04/27 20:10, , 5F
謝謝1F大大,但小弟資質駑鈍,需要更詳細的解釋啊T_T
04/27 20:10, 5F

04/27 20:13, , 6F
阿,剛剛去查了下,不加.call(this),會在嚴格模式下炸掉
04/27 20:13, 6F

04/27 20:14, , 7F
嚴格模式下,禁止在非構造子裡,用this關鍵字
04/27 20:14, 7F
文章代碼(AID): #1JNCsdO7 (Web_Design)