※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-09-26 12:39:04
看板 Ajax
作者 標題 Re: [問題] 新手請教括號有無的差別
時間 Sun Aug 12 10:37:41 2018
※ 引述《liquidbox (樹枝擺擺)》之銘言:
: 我正在自學Javascript,以打好用Python寫爬蟲程式的基礎
: 現在看書自學發現以下問題(不重要的HTML標籤已省略)
: <body>
: <input type="button" id="b1" value="顯示訊息">
: <script language="javascript">
: var b1 = document.getElementById("b1");
: b1.onclick = alerts(); //<----這個括號
: function alerts()
: {
: window.alert("hello world");
: }
: </script>
: </body>
: 以上程式想試寫,按下「顯示訊息」按鈕後,自動跳出hello world,
: 但必須是沒有括號才是正確結果,也就按下按鈕後才跳出hello world,
: 如果如上面黃色部分,加上刮號後,「HTML一載入」瀏覽器就跳出hello world
: 雖然想要上網查原因,但這個實在不知道是什麼原因造成刮號有無的差別
: 在此請教,感謝回應
可以想成 () 代表執行。
因為程式已經先在下面定義好 function alerts(){ ... } 了
所以此時環境認識了alerts是個函數。
在指定onclick 事件要呼叫什麼函數時,
就只要給名稱就好。
這是javascript的特性
因為在js中,可以設 let a = 3,也可以 let a = function(){...}
另外可以看一下 IIFE(立即執行函數)
你宣告一個函數後
想要馬上執行他
一個是:
function alerts(){ console.log('hi'); }
alerts(); //在後面呼叫
用IIFE的話就是
( ()=>{ console.log('hi');} )();
最後紅色的括號代表『執行它』
打得有點亂 希望有幫助Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.6.15.211
※ 文章代碼(AID): #1RRvrvLq (Ajax)
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1534041465.A.574.html
推 : 真是太詳細了,非常感謝您的解說1F 08/12 11:30
--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 183
作者 peanut97 的最新發文:
- 在辦公室裡大家共處一室、主管共用、空調共用 吃東西的時候口罩能拿下來,甚至還能聊天 那平常沒吃東西時、在座位上時,還要戴口罩嗎?(想問實際上的, 不是表面的規定) …46F 22推 1噓
- 有人跟我一樣嗎? (1) 到現在也沒用過 uberEat、foodPanda。原因:無法接受要吃東西居然不用出門。 要吃到東西,就是要經過「走路」「騎車」到店家取貨的過程。或是付出自己下廚的過程。就是 …231F 79推 17噓
- 認真回 別人怎麼對你是你教出來的。 有一個簡單的方式 就是下一次不管是誰來找你的時候 你就說「對不起我正事情做到一半,可以過10分鐘(或30分鐘)再去找你嗎?」 或是「對不起我事情做正到一半,你很急嗎 …20F 11推
- 我交大資工大學部畢業,沒唸研究所,年薪離百萬超級無敵遠。 25歲 (2013年) 第一份工作在台北大猩猩科技,是100人的科技公司, 人資要我開價,我開4萬。最後人資給月薪4萬2,當軟體工程師。做了3 …259F 160推 10噓
- 暨第1篇 Salary 版上的《找工作應該有的心態》 當你透過海量投遞履歷後,終於得到一些面試機會後,該怎麼做? (記得找工作模型:投x封,得y個面試,得z個offer,x越大y就越大) 都是0表示你 …201F 166推
點此顯示更多發文記錄
回列表(←)
分享