Error: Permission denied to access property "x"
錯誤類型:Error
原因:嘗試訪問無權訪問的對象。這很可能出現(xiàn)在使用<iframe>元素加載了一個不同域名下的頁面外傅,這在訪問子頁面時會違背同源策略(same-origin policy)曹体。
栗子:
<iframe id="myframe" src="http://www1.w3c-test.org/common/blank.html"></iframe>
<script>
console.log(document.getElementById('myframe').contentWindow.document);
// Error: Permission denied to access property "document"
</script>
InternalError: too much recursion
錯誤類型:InternalError(內(nèi)部錯誤)
原因:一個調(diào)用自身的函數(shù)被稱作遞歸函數(shù)(Recursive functions)耸彪。一些情況下,遞歸函數(shù)類似于一個循環(huán),都重復地執(zhí)行一個代碼段許多次瘪吏,都需要一個條件(用于避免無盡循環(huán)或此處的無盡遞歸)查蓉。當出現(xiàn)過于深層的遞歸或無盡遞歸時,JavaScript將會拋出此錯誤呀打。
RangeError: argument is not a valid code point
錯誤信息:
RangeError: {0} is not a valid code point (Firefox)
RangeError: Invalid code point {0} (Chrome)
錯誤類型:RangeError
原因:String.fromCodePoint()
方法只接收合法碼點值矢赁。碼點是Unicode編碼的值,從0 到 0x10FFFF贬丛。用NAN撩银,負整數(shù),非整數(shù)或者大于0x10FFFF的值這個函數(shù)會報錯豺憔。
RangeError: invalid array length
錯誤信息:
RangeError: invalid array length (Firefox)
RangeError: Invalid array length (Chrome)
RangeError: Invalid array buffer length (Chrome)
錯誤類型:RangeError
原因:
無效的數(shù)組長度錯誤通常會在以下情形中出現(xiàn):
- 當創(chuàng)建一個長度為負數(shù)或者長度大于等于2^32的 Array
或者 ArrayBuffer
時额获。 - 當設置 Array.length 屬性為負數(shù)或者長度大于等于2^32時。
為什么 Array(數(shù)組) 和 ArrayBuffer(數(shù)組緩沖區(qū)) 的長度會受到限制恭应?
因為 Array 和 ArrayBuffer 的 length(長度) 屬性被定義為一個32位無符號整形(unsigned 32-bit integer)的值抄邀,所以它只能存儲 0 - 2^32-1 之間的數(shù)。
RangeError: precision is out of range
錯誤信息:
RangeError: precision {0} out of range (Firefox)
RangeError: toExponential() argument must be between 0 and 20 (Chrome)
RangeError: toFixed() digits argument must be between 0 and 20 (Chrome)
RangeError: toPrecision() argument must be between 1 and 21 (Chrome)
原因:
下面任意函數(shù)的參數(shù)超出精度范圍:
RangeError: radix must be an integer
錯誤信息:
RangeError: radix must be an integer at least 2 and no greater than 36 (Firefox)
RangeError: toString() radix argument must be between 2 and 36 (Chrome)
錯誤類型:RangeError
原因: Number.prototype.toString()
方法的參數(shù)基數(shù)必須是2~36之間的整數(shù)昼榛。
為什么不能大于36境肾?
因為基數(shù)大于10時按字母數(shù)字字符的字母順序排列,26個字符最大為36胆屿。
RangeError: repeat count must be less than infinity
錯誤信息:
RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox)
RangeError: Invalid count value (Chrome)
錯誤類型:RangeError
原因: String.prototype.repeat()
的參數(shù)用來表示重復次數(shù)奥喻,參數(shù)范圍是[0, +∞),火狐最大值為2^28-1非迹。
RangeError: repeat count must be non-negative
錯誤信息:
RangeError: repeat count must be non-negative (Firefox)
RangeError: Invalid count value (Chrome)
錯誤類型:RangeError
原因:String.prototype.repeat()
的參數(shù)用來表示重復次數(shù)环鲤,參數(shù)范圍是[0, +∞)。
ReferenceError: "x" is not defined
錯誤類型:引用錯誤
原因:在某些地方引用一個不存的的變量的時候憎兽。當你使用變量的時候冷离,這個變量必須是已經(jīng)被聲明的,或者你可以確保它在你當前的腳本或作用域 (scope) 中可用纯命。
ReferenceError: assignment to undeclared variable "x"
錯誤信息:
ReferenceError: assignment to undeclared variable "x" (Firefox)
ReferenceError: "x" is not defined (Chrome)
ReferenceError: Variable undefined in strict mode (Edge)
錯誤類型:ReferenceError
warning in strict mode only.