js的執行錯誤分為 語法syntaxError,和 runtime error,
首先, js引擎會檢查 整個腳本的語法, 如果在檢查語法的過程中,發現了錯誤, 比如括哈不配對, 字符串少了 另一半的引號等等, 那么一開始就不會執行...
但是, 語法正確, 腳本開始執行, 並不表示后面的執行過程一直都正確, 因為還會出現運行時的錯誤, 如: referenceError等錯誤.
如果你感覺沒有語法錯誤, 而js從某個語句開始, 其后面的語句不能執行, 那么一定是 這個語句之前的 某個地方, 某個語句出錯了. 所以 從這個語句開始之后的 代碼就不能執行了.
對於一個變量來說, 只有 "定義" 和 "引用" 兩種說法,
定義一個變量, 即初始化這個變量;
其他地方, 對這個變量的使用, 都叫做 "引用"
js中代碼的作用域的概念
子域的變量, 可以引用 父域的變量, 即父域的變量在子域中, 是可見的 visible. 但是反之不亦然: but not vice versa.
而子域中的變量, 在 父域中, 則是不可見的:
js雖然是弱類型語言, 但是, 它有一個要求就是: 在 reference 引用一個變量之前, 這個變量 "必須"是 "顯式的" 定義過了的. 否則你一拿起就使用它, 那么必然的就會出錯, 注意是出錯, 不是警告. 相應的, 后面的代碼就不會被執行!!
為什么submit按鈕 用ajax方式 提交時, 會自動回到 本頁面? 有返回的信息時, 只是閃一下就沒有了?
是因為, submit類型的按鈕, 在單擊時, 會在 "最后" 默認的 "即使你不寫"的情況下, 都會執行 它的 默認的動作, 即提交: 但是由於你沒有寫action, 所以他就提交到 當前頁面, 所以, 當前頁面就又刷新了一次... 應該在js的最后 返回false;
書寫代碼一般按照 規范來書寫, 但是也沒有必要完全按照規范來寫, 一般能夠理解就可以了.
ajaxReturn(data, 'type'...)其中的type類型只有四種方式: json, jsonp, xml, eval, 這些返回的type類型, 本身就有header類型聲明, 而且已經做了xml_encode, json_encode編碼的了...
通常默認的ajaxReturn返回類型就是json. 如果你只是為了返回 "字符串" 就可以不寫這個, 采用默認的 json類型就可以了;
xml類型和eval類型(eval類型是為了返回能執行的js代碼)一般比較少用, 而jsonp基本就不會用到..
但是, 如果你寫錯了ajaxReturn類型, 則不會返回任何東西, 或者說, 返回為null. 空.