execjs執行js出現window對象未定義時的解決_10個常見的JS語言錯誤總匯

d1acbdcca9587ccb96d1cb7897c7a01e.png

1、?Uncaught TypeError: Cannot Read Property

這是 JavaScript 開發人員最常遇到的錯誤。當你讀取一個屬性或調用一個未定義對象的方法時,Chrome 中就會報出這樣的錯誤。導致這個錯誤發生的原因有很多,常見的一種情況是在渲染 UI 組件時,不正確地初始化狀態。

2、?TypeError: ‘undefined’ Is Not an Object (evaluating...)

這是在 Safari 中讀取屬性或調用未定義對象上的方法時發生的錯誤。您可以在 Safari Developer Console 中輕松測試。這與 1 中提到的 Chrome 的錯誤基本相同,但 Safari 使用了不同的錯誤消息提示語。?

3、TypeError: Null Is Not an Object (evaluating...)

這是在 Safari 中讀取屬性或調用空對象上的方法時發生的錯誤。您可以在 Safari Developer Console 中輕松測試。有趣的是,在 JavaScript 中,null 和 undefined 是不一樣的,這就是為什么我們看到兩個不同的錯誤信息。undefined 通常是一個尚未分配的變量,而 null 表示該值為空。要驗證它們不相等,請嘗試使用嚴格的相等運算符 ===:在現實世界的例子中,這種錯誤可能發生的一種場景是:如果在加載元素之前嘗試在 JavaScript 中使用元素。因為 DOM API 對于空白的對象引用返回值為 null。任何執行和處理 DOM 元素的 js 代碼都應該在創建 DOM 元素之后執行。js 代碼按照 html 中的規定從上到下進行解釋。?所以,如果 DOM 元素之前有一個標簽,腳本標簽內的 js 代碼將在瀏覽器解析 html 頁面時執行。如果在加載腳本之前尚未創建 DOM 元素,則會出現此錯誤。

4、(unknown): Script Error

當未捕獲的 JavaScript 錯誤違背跨邊界原則時,就會發生腳本錯誤。例如,如果將 JavaScript 代碼托管在 CDN 上,則任何未被捕獲的錯誤(通過 window.onerror 處理程序發出的錯誤,而不是 try-catch 中捕獲到的錯誤)將僅報告為“腳本錯誤”。這是瀏覽器的一種安全措施,主要用于防止跨域傳遞數據的情況出現。將 Access-Control-Allow-Origin 設置為?*,?表示可以從任何域正確訪問資源。*?如有必要,也可以用自己的域名進行替換,例如:
Access-Control-Allow-Origin: www.example.com

5、?TypeError: Object Doesn’t Support Property

當調用未定義的方法時,IE 中會發生這樣的錯誤。這相當于 Chrome 中的 “undefined’ is not a function” 錯誤。對于相同的邏輯錯誤,不同的瀏覽器可能會有不同的錯誤消息。這是在 IE 的 Web 應用程序中使用 JavaScript 命名空間出現的一個常見問題。出現這種情況的絕大部分原因是IE無法將當前名稱空間內的方法綁定到this關鍵字。

6、TypeError: ‘undefined’ Is Not a Function

當調用未定義的函數時,Chrome 中就會發生這樣的錯誤。隨著 JavaScript 編碼技術和設計模式在過去幾年中變得越來越復雜,回調和閉包中的自引用范圍也相應增加,這是造成這種混亂現象的主要來源。

7、Uncaught RangeError: Maximum Call Stack

這是在很多種情況,Chrome 中發生的錯誤,一種情況是當你調用一個不會終止的遞歸函數時。如果將值傳遞給超出范圍的函數,也可能會發生這種情況。許多函數只接受特定范圍內的數字輸入值。

8、TypeError: Cannot Read Property ‘length’

這是 Chrome 中發生的錯誤,因為讀取了未定義長度屬性的變量。通常在數組中能夠找到定義的長度,但是如果數組未初始化或變量名在另一個上下文中隱藏,則可能會出現這種錯誤。

9、?Uncaught TypeError: Cannot Set Property

當嘗試訪問未定義的變量時,總會返回 undefined。我們也無法獲取或設置 undefined 的任何屬性。在這種情況下,應用程序將拋出“Uncaught TypeError cannot set property of undefined”。

10、ReferenceError: Event Is Not Defined

嘗試訪問未定義的變量或當前范圍之外的變量時會引發此錯誤。如果在使用事件處理系統時遇到此錯誤,請確保使用傳入的事件對象作為參數。IE 這樣的瀏覽器提供了全局變量事件,Chrome 會自動將事件變量附加到處理程序中,Firefox 則不會自動添加事件變量。

結論

事實證明很多這些 null 或 undefined 的錯誤是普遍存在的。?一個類似于 Typescript 這樣的好的靜態類型檢查系統,當設置為嚴格的編譯選項時,能夠幫助開發者避免這些錯誤。f981cb764dc76c79b51da98a33aa2a55.pngf346112ae54680511b29264a5eb8733f.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271358.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271358.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271358.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安卓logcat工具apk_backdoorapk 安卓APK后門捆綁腳本

項目地址https://github.com/dana-at-cp/backdoor-apk項目介紹backdoor-apk是一個bash寫的腳本,通過msfvenom生成一個android的payload,然后再使用apktools將payload捆綁到正常的apk文件中。使用方法rootkali:~/Android/evol-lab/BaiduBrowserRat# ./bac…

java8 supplier 接口

Supplier 接口 Supplier 接口是一個供給型的接口,其實,說白了就是一個容器,可以用來存儲數據,然后可以供其他方法使用的這么一個接口 *** Supplier接口測試,supplier相當一個容器或者變量,可以存儲值*/Tes…

mantis apache mysql_軟件測試(軟件安裝:php+mysql+apache+mantis過程遇到的問題以及解決方法)...

實驗環境: Windows 7 64位操作系統瀏覽器版本: Mozilla Firefox 41.0.0.5378一.PHP的安裝① 版本: php-5.4.45-Win32-VC9-x86安裝步驟:安裝將PHP安裝到 D:\PHP下(目錄可以自行更改)配置找到PHP目錄里的類似 php.ini-dist ,…

c#程序中使用like“查詢access數據庫查詢為空的問題

今天,在開發的過程中發現了一個特別奇怪的問題:access中like查詢時候,在Access數據庫中執行,發現可以查詢出結果,這是在數據庫上執行,select * from KPProj where KpName like *測試*,但是同樣的…

html登錄界面_使用數據庫制作一套注冊登錄系統

經過了那么多個星期的學習&#xff0c;終于到了使用數據庫的階段了&#xff0c;最基本的也就是制作注冊登錄與數據庫連接。首先要制作一個注冊窗口先是html界面<效果如圖&#xff1a;&#xff08;樣子怎么樣不重要&#xff0c;重要的是測試&#xff09;這主要是將form數值發…

java8中Predicate用法

Predicate是個斷言式接口其參數是<T,boolean>&#xff0c;也就是給一個參數T&#xff0c;返回boolean類型的結果。跟Function一樣&#xff0c;Predicate的具體實現也是根據傳入的lambda表達式來決定的。 Testpublic void predicate(){/*** Predicate謂詞測試&#xff0c…

計算機網絡基礎:局域網協議相關知識

1、局域網協議的概念 局域網絡中的通信被限制在中等規模的地理范圍內&#xff0c;比如一所學校&#xff1b;能夠使用具體中等或較高數據速率的物理信道&#xff0c;并且具有較低的誤碼率&#xff1b;局域網絡是專用的&#xff0c; 由單一組織機構所使用。 局域網特點&#xff1…

mysql數據庫交叉連接_【數據庫】內連接、外連接、交叉連接

基本概念關系模型(表)關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。關系模型的數據結構非常簡單&#xff1a;一張扁平的二維表。元組&#xff1a;二維表中的具有相同數據類型的某一行屬性&#xff1a;二維表中的具有相同數據類型的某一列笛卡爾積(Cartesi…

C#實現GDI+基本圖的縮放、拖拽、移動

C#實現GDI基本圖的縮放、拖拽、移動示例代碼如下&#xff1a; using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms; namespace ResizableControls{ public …

網絡資產管理系統_固定資產管理系統的三種網絡架構方式

隨著互聯網技術的發展和信息技術的廣泛使用&#xff0c;固定資產管理系統在各行業的應用越來越普及&#xff0c;固定資產管理系統作為當今主流的企業固定資產信息化管理模式&#xff0c;能夠對企業固定資產進行有效管理并提升企業的管理水平。對于固定資產管理系統的網絡結構方…

計算機網絡基礎:廣域網協議相關知識筆記

廣域網常指覆蓋范圍廣、數據傳輸速率較低&#xff0c;以數據通信為目的的數據通信網。廣域網主要是通過專用的或交換式的連接把計算機連接起來。廣域網傳輸協議主要包括&#xff1a;PPP&#xff08;點對點協議&#xff09;、DDN、ISDN&#xff08;綜合業務數字網&#xff09;、…

mysql check table_修復MySQL的MyISAM表命令check table用法

MyISAM如果損壞了修復方法是比較簡單了我們只要使用check table命令就可以了&#xff0c;下面我們來看一篇關于修復MySQL的MyISAM表命令check table用法&#xff0c;具體如下所示。MySQL日志文件里出現以下錯誤&#xff0c;MySQL表通常不會發生crash情況&#xff0c;一般是在更…

python字典append_python中字典重復賦值,append到list中引發的異常

今天遇到了一個關于python 字典的誤用。先上代碼&#xff1a; data [{id: 1, name: 管理員, role: admin, desc: 系統管理員, acl: None}, {id: 2, name: 研發, role: dev, desc: 研發人員, acl: None}, {id: 3, name: 測試, role: qa, desc: 測試人員, acl: None}, {id: 4, n…

計算機網絡基礎:TCP/IP協議相關知識筆記?

1、TCP/IP特性邏輯編址&#xff1a;每一塊網卡會在出廠時由廠家分配了唯一的永久性物理地址。針對Internet&#xff0c;會為每臺連入因特網的計算機分配一個邏輯地址也就是IP地址。路由選擇&#xff1a;專門用于定義路由器如何選擇網絡路徑的協議&#xff0c;即IP數據包的路由選…

終于做出來了

1 <!doctype html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>精英大賽2號 </title>6 <meta name"Keywords" content"關鍵字">7 <meta name"Desp…

ashx連接mysql_ASP.net與SQLite數據庫通過js和ashx交互(連接和操作)

ASP.net與SQLite數據庫通過js和ashx交互(連接和操作)&#xff1a;廢話(也是思路)&#xff1a;用的是VS2010&#xff0c;打算做網站前后臺。由于不喜歡前臺語言里加些與html和css和js的其他內容&#xff0c;想實現前后臺語言的分離&#xff0c;與前后臺通過js的ajax實現交互&…

計算機網絡:九大命令!解決網絡故障新思路

一&#xff1a;ping命令ping是個使用頻率極高的實用程序&#xff0c;主要用于確定網絡的連通性。這對確定網絡是否正確連接&#xff0c;以及網絡連接的狀況十分有用。簡單的說&#xff0c;ping就是一個測試程序&#xff0c;如果ping運行正確&#xff0c;大體上就可以排除網絡訪…

webpack打包后引用cdn的js_JS逆向:Webpack打包后的代碼怎么搞?猿人學爬蟲比賽第十六題詳細題解...

實戰地址http://match.yuanrenxue.com/match/16抓包分析地址欄輸入 地址&#xff0c;按下F12并回車&#xff0c;發現數據在這里:查看cookie&#xff0c;無加密相關的字段。請求的接口倒是有個m的加密參數&#xff0c;看來這題的主要目的就是 看看m參數怎么進行加密的吧。切換 I…

計算機網絡基礎:IP基礎知識筆記

1、 IP地址概念IP是用來唯一標識主機地址。IP地址 網絡地址 主機地址(又稱&#xff1a;主機號和網絡號組成)例如IP&#xff1a;192.168.100.168 子網掩碼 255.255.255.0 對應的網絡地址和主機地址如下&#xff1a;192.168.100.168&#xff08;IP地址&#xff09; 192.168.1.…