Open futianshen opened 6 years ago
在看完《當我們在學程式時,要學的到底是什麼?》 嚇得屁滾尿流之後,最近都在寫 PHP 的我趕快拾起 JavaScript 去寫寫看文章中提到的一個例題...
一個 199 乘法表,然後輸出的順序要是 0, m, 1, m-1, 2, m-2…以此類推,舉例來說,當要輸出 7 的時候會長這樣: 7 1 = 1 7 9 = 63 7 2 = 14 7 8 = 56 7 3 = 21 7 7 = 49 7 4 = 28 7 6 = 42 7 5 = 35
基於使用 PHP 的習慣寫下了以下程式碼。
for(i=1;i<=19;i++) { calc = '' calc += i calc += '*' for (j=1;j<=5;j++) { answer = calc k= 10-j answer += j answer += '=' answer += i * j console.log(answer) if (j!==k) { answer = calc answer += k answer += '=' answer += i * k console.log(answer) } } }
正當我暗自竊喜,還好自己還寫的出來的時候,暮然回首發現,奇怪!好像少了點什麼? calc 和 answer 怎麼沒有宣告!
calc
answer
在這裡插入一段之前寫 DOM 的時候,一段和上面情況相似的程式碼(這段程式碼的功能是新增一個可以修改留言的輸入框)
div = document.createElement('div') div.setAttribute("class", "modify") form = document.createElement('form') form.setAttribute("action", "modify_post.php") form.setAttribute("method", "POST") textarea = document.createElement('textarea') textarea.setAttribute("name", "modify_content") textarea.setAttribute("required", "required") textarea.innerText=postContent input = document.createElement('input') input.setAttribute("type", "hidden" ) input.setAttribute("name", "post_id") input.setAttribute("value", postId) submit = document.createElement('input') submit.setAttribute("type", "submit") submit.setAttribute("class", "btn btn-info") form.appendChild(textarea) form.appendChild(input) form.appendChild(submit) div.appendChild(form)
一般變數的宣告分為兩個階段
如果在作用域內沒有宣告,變數就會往外層的作用域找看看有沒有宣告,全域都沒找到,就會在全域的最開端進行宣告,也就是說如果在作用域裡面沒有宣告的變數就會變成全域變數。
JavaScript 語言核心(3)你的變數 var 了嗎? JavaScript 變數 解读ECMAScript[1]——执行环境、作用域及闭包
為什麼要理解 JavaScript 的宣告變數方式?
緣起
在看完《當我們在學程式時,要學的到底是什麼?》 嚇得屁滾尿流之後,最近都在寫 PHP 的我趕快拾起 JavaScript 去寫寫看文章中提到的一個例題...
基於使用 PHP 的習慣寫下了以下程式碼。
正當我暗自竊喜,還好自己還寫的出來的時候,暮然回首發現,奇怪!好像少了點什麼?
calc
和answer
怎麼沒有宣告!在這裡插入一段之前寫 DOM 的時候,一段和上面情況相似的程式碼(這段程式碼的功能是新增一個可以修改留言的輸入框)
變數不用宣告就可以使用 ?
一般變數的宣告分為兩個階段
如果在作用域內沒有宣告,變數就會往外層的作用域找看看有沒有宣告,全域都沒找到,就會在全域的最開端進行宣告,也就是說如果在作用域裡面沒有宣告的變數就會變成全域變數。
這麼方便的話,使用變數的話還要宣告嗎?
如果不宣告會遇到什麼問題 ?
參考資料
JavaScript 語言核心(3)你的變數 var 了嗎? JavaScript 變數 解读ECMAScript[1]——执行环境、作用域及闭包