PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题
本人剛參加PHP基礎班培訓第一天,由于之前毫無基礎,分享的心得可能不規范,方法也許也“旁門左道”,不能保證質量,只作自己總結學習,也希望能幫助到同樣是初學者的朋友們,共同進步。
在這里分享一下我們基礎班學員遇到的一些疑點和我的分析。PS:分析不一定正確,希望同行指教
一:將定義函數賦值給一變量
像var str=function say(){}
我的分析:相當于函數覆蓋了變量,變量可以像函數調用,不過調用里面好像弄不了參數,原來的函數再調用也不會有效果
二:腦洞實驗:將定義函數賦值給一變量
如圖:
首先正常的定義函數,然后調用函數看看
效果:
然后實驗主體:
我們先將調用函數(注意這里指的是調用函數,不是定義函數)賦值給變量str2:
然后發現只是賦值它就自動運算函數了,而且沒有報錯(這里希望有經驗人解說一下為什么它自己會執行函數)
然后實驗主體:我們當那個"被調用函數say2賦值的變量str2"為函數調用
結果:
這里即使原定義函數加了return也同樣,果然是筆者腦洞大胡亂弄了么,如提示,它沒有變成函數
在這筆者又腦洞大開試試將這個已經"被調用函數say2賦值的變量str2"的str2套document.write()輸出看看
在前面定義函數沒有設return值時它是這樣的:
當設了return值
它這樣輸出:
?
分析:只是輸出了那函數return的值,沒有執行函數里面的document.write('hi~hi~<br/>')
總結:
1.定義函數賦值給變量的話,相當于給函數換了個名字叫變量,后面執行就直接用這函數就可以調用,而且人家已經改名了,如果你用舊名字調用函數的話沒用
2.調用函數賦值給變量的話,相當于用變量的名字執行了一下函數,沒什么問題。當如果你當它是函數來調用的話,系統會告訴你人家只是用名義做一下事而且,人家不是函數。當然這時不相當于給變量賦值,變量沒什么內容,這時候你去輸出啊什么的弄這個變量,人家會告訴你undefined啊~
?
轉載于:https://www.cnblogs.com/dreamskyx/p/6009494.html
總結
以上是生活随笔為你收集整理的PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chardet坑——比蜗牛还慢
- 下一篇: linux centos 7安装 apa