轉行前端自我學習記錄 函式命名造成的堆疊溢位

2021-08-18 08:11:03 字數 795 閱讀 6256

函式命名有一些廣泛認可的規則,一般函式首字母小寫,駝峰命名,建構函式首字母大寫,駝峰命名。不能用關鍵字與保留字。

今天在進行bom學習時,遇到了乙個因為函式命名造成的堆疊溢位的bug

window.open(url,name,property)方法開啟乙個新的網頁url,可以顯示在name命名的框架(frame)內,或者_top(最外層框架,一般是當前視窗)_blank(開啟新視窗顯示網頁)_self(本視窗開啟)_parent(父輩框架開啟網頁)。

圖示中的**引起了堆疊溢位錯誤:

一般性堆疊溢位錯誤都是發生在函式遞迴陷入死迴圈中出現,於是進行了一定的檢驗

執行程式,發現警告框提示了兩次i的值,說明open函式遞迴了,可是**中並沒有遞迴的表示式,所以,問題就出在了函式的命名上面。「open」這個單詞,在執行window.open時,對函式進行了遞迴(因為函式名是「open」),更改函式名,則問題解決。

總結:函式命名或者變數命名,盡量不能與函式名稱或者一些屬性、方法同名,否則會出現意想不到的bug。

轉行前端自我學習記錄 BOM篇

bom browser object module,瀏覽器物件模型,最核心的物件為window物件。其有幾點特點 1 任何定義在全域性作用域中的變數 函式 方法均為window物件的屬性或方法。如isnan parseint parsefloat number boolean 2 未指定window...

轉行學習前端很難,我應該如何學習前端開發?

相信很多人都有這樣的疑問 我是零基礎的,從來沒學習過前端開發,但是我知道這個行業現在前景很不錯,薪資待遇都很高,那我可以學習前端開發嗎?我是應該自學好還是參加培訓學習比較好呢?首先如果選擇自學的話你需要注意 2 了解清楚如今網際網路公司需要的都是什麼樣的人才,雖然說現在都是要有工作經驗的,但是作為起...

前端學習記錄

總結一下這幾天跟前輩學的新知識 1.吸頂效果,普通的做法是在onscroll函式中監聽滾動距離,如果滾動超過導航條高度,則將導航條的class新增.fixed。但是ios6 裝置下的瀏覽器會在頁面滾動的時候暫停所有js的執行,包括settimeout和setinterval,onscroll也不會執...