JavaScript 01 JavaScript 是什么

1.1 JavaScript 是什么


  1. JavaScript 是一門世界上最流行的腳本語言(基本所有平臺的所有軟件都會用到它)。

“1994年,網景公司(Netscape)發布了Navigator瀏覽器0.9版。這是歷史上第一個比較成熟的網絡瀏覽器,轟動一時。但是,這個版本的瀏覽器只能用來瀏覽,不具備與訪問者互動的能力。…網景公司急需一種網頁腳本語言,使得瀏覽器可以與網頁互動。”

在這里插入圖片描述
在這里插入圖片描述
2. 總之,當時的形勢就是,網景公司的整個管理層,都是Java語言的信徒,Sun公司完全介入網頁腳本語言的決策。 因此,Javascript后來就是網景和Sun兩家公司一起攜手推向市場的,這種語言被命名為"Java+script"并不是偶然的。

  1. 此時,34歲的系統程序員Brendan Eich登場了。1995年4月,網景公司錄用了他。
    Brendan Eich的主要方向和興趣是函數式編程,網景公司招聘他的目的,是研究將Scheme語言作為網頁腳本語言的可能性。Brendan Eich本人也是這樣想的,以為進入新公司后,會主要與Scheme語言打交道。
    在這里插入圖片描述

  2. 僅僅一個月之后,1995年5月,網景公司做出決策,未來的網頁腳本語言必須"看上去與Java足夠相似",但是比Java簡單,使得非專業的網頁作者也能很快上手。 這個決策實際上將Perl、Python. Tcl、scheme等非面向對象編程的語言都排除在外了。
    Brendan Eich被指定為這種"簡化版Java語言"的設計師。

  3. 但是,他對Java一點興趣也沒有。為了應付公司安排的任務,他只用1o天時間就把Javascript設計出來了。
    由于設計時間太短,語言的一些細節考慮得不夠嚴謹,導致后來很長一段時間,Javascript寫出來的程序混亂不堪。如果Brendan Eich預見到,未來這種語言會成為互聯網第一大語言,全世界有幾百萬學習者,他會不會多花一點時間呢?
    總的來說,他的設計思路是這樣的:

(1) 借鑒C語言的基本語法;.
(2)借鑒Java語言的數據類型和內存管理;
(3)借鑒Scheme語言,將函數提升到"第一等公民”(firstclass)的地位;
(4)借鑒Self語言,使用基于原型(prototype)的繼承機制。
一個合格的后端程序員,必須要精通 JavaScript!因為你會發現你寫 JavaScript 的時間 要比 寫 Java 要多。并且 分析 JS 也比分析其它東西的時間要多。

ECMAscript 是JavaScript 的一個標準。最新版本 已經到 ES6 版本。(但大部分瀏覽器還只停留在 支持 ES5 的這個版本。)這就導致了,開發環境 <-\-> 線上環境,版本不一致。程序員可能用 ES6 寫的,但是運行不出來。


1.2 快速入門

引入 JavaScript 要不就用 <script src=“js/qj.js”></script> 引入外部js文件。

要不就直接 寫在 html 文件 的內部。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>//用 script 標簽 寫 Javascriptalert("hello world");</script>
</head>
<body>
<!--這里也可以寫 javascript-->
</body>
</html>

在這里插入圖片描述

alert("hello world");
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
<!--    <script>-->
<!--        //用 script 標簽 寫 Javascript-->
<!--        alert("hello world");-->
<!--    </script>--><script src="js/qj.js"></script>
</head>
<body><!--這里也可以寫 javascript-->
</body>
</html>

1.3 基本語法

  1. 定義變量
    var 變量名 = 變量值

var 是 javascript 里面 唯一的 變量類型,它的意思是 指你聲明了一個變量。但是 不需要 指定 數據類型,因為 javascript 會幫你 自動識別。

  1. 流程控制
    Javascript 所有的流程控制語句和 C/C++、Java 是一樣的一樣的!

  2. 輸出語句
    console.log(輸出的東西);//在瀏覽器控制臺里面顯示
    alert(輸出的東西);

console.log() 控制臺日志,這個瀏覽器的控制臺是非常有用的!它會 幫你 檢查 javascript 的錯誤,還能幫你 輸出信息到控制臺里。

在這里插入圖片描述
在這里插入圖片描述
4. 斷點 debug

在瀏覽器 檢查工具里,有一個 Sources,點擊進去后。你就會看到 你的 工程、文件夾、文件。在這里插入圖片描述
然后里邊 的 數字編號,是可以 點擊的。點擊之后 就下斷點了。再次刷新 網頁的時候,它就會 執行到 斷點的位置!!!

在這里插入圖片描述
然后 下一步調試 和 上一步調試 也都是有的。
在這里插入圖片描述
這個調試 的話,也是和 IDEA 一樣的,差不太多。

  • Elements(元素):查看修改 html 和 CSS

  • Console(控制臺):調試 JS,輸出信息

  • Source(源碼):查看 JS 和 調試 JS

  • NetWork(網絡):抓包,網絡爬蟲

  • Application(應用):查看 Cookies

在這里插入圖片描述

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

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

相關文章

Bun v1.2.19發布,node_modules隔離,sql比node快6倍

大家好,我是農村程序員,獨立開發者,行業觀察員,前端之虎陳隨易。我會在這里分享關于 獨立開發、編程技術、思考感悟 等內容,歡迎關注。 技術群與交朋友請在個人網站聯系我,網站 1??:https://chensuiyi.me,網站 2??:https://me.yicode.tech。 如果你覺得本文有用…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 主頁布局實現

大家好&#xff0c;我是java1234_小鋒老師&#xff0c;最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程&#xff0c;持續更新中&#xff0c;計劃月底更新完&#xff0c;感謝支持。今天講解主頁布局實現 視頻在線地址&#xff1a; …

# 微調需要準備哪些環境配置?

微調需要準備哪些環境配置&#xff1f; 如果沒有 GPU&#xff0c;即便是微調較小的大語言模型&#xff08;LLMs&#xff09;&#xff0c;過程也會比較慢。如果你已經有了現成的 GPU&#xff0c;那就可以直接開工了。不過&#xff0c;并不是所有人都能負擔得起 GPU—— 這種情況…

ClickHouse物化視圖避坑指南:原理、數據遷移與優化

摘要ClickHouse物化視圖通過預計算和自動更新機制&#xff0c;顯著提升大數據分析查詢性能&#xff0c;尤其適合高并發聚合場景。本文將深入解析其技術原理、生產實踐中的優化策略&#xff0c;以及數據遷移的實戰經驗。一、物化視圖核心概念ClickHouse的物化視圖(Materialized …

Springboot3整合Elasticsearch8(elasticsearch-java)

1、Elasticsearch的JAVA客戶端選擇 Elasticsearch官方支持的客戶端 客戶端名稱簡介使用建議Elasticsearch Java API Client&#xff08;新客戶端&#xff09;官方推薦的新客戶端&#xff0c;基于 JSON Mapping&#xff08;如 ElasticsearchClient 類&#xff09;&#xff0c;…

OpenCV 官翻8 - 其他算法

文章目錄高動態范圍成像引言曝光序列源代碼示例圖像說明結果色調映射圖像曝光融合附加資源高級圖像拼接 API&#xff08;Stitcher 類&#xff09;目標代碼說明相機模型試用指南圖像拼接詳解 (Python OpenCV >4.0.1)stitching_detailed如何使用背景減除方法目標代碼代碼解析結…

2025年一區SCI-回旋鏢氣動橢圓優化算法Boomerang Aerodynamic Ellipse-附Matlab免費代碼

引言 本期介紹一種新的元啟發式算法——回旋鏢氣動橢圓優化算法Boomerang Aerodynamic Ellipse Optimizer (BAEO)。該優化器的靈感來自于飛行中的回旋鏢的空氣動力學行為&#xff0c;明確地建模了釋放角和發射力如何塑造其軌跡。于2025年7月最新發表在JCR 1區&#xff0c;中科…

Custom SRP - Custom Render Pipeline

https://catlikecoding.com/unity/tutorials/custom-srp/custom-render-pipeline/ 1. 新建 Render Pipeline 任何內容的渲染&#xff0c;最終都是要由 unity 決定在哪里&#xff0c;什么時候&#xff0c;以哪些參數進行渲染。根據目標效果的復雜程度&#xff0c;決定渲染的過程…

C語言面向對象編程

1.內核通用鏈表一、什么是 list_head&#xff1f;list_head 是 Linux 內核中自己實現的一種 雙向循環鏈表 的結構&#xff0c;定義在 <linux/list.h> 中。它設計得非常輕巧、靈活&#xff0c;廣泛用于內核模塊、驅動、進程調度、網絡協議棧等。它的關鍵思想是&#xff1a…

Spring Boot+Redis Zset:三步構建高可靠延遲隊列系統

系統設計架構圖---------------- ----------------- ---------------- | | | | | | | 生產者 |------>| Redis ZSet |------>| 定時任務消費者 | | (添加延遲任務) | | (延…

MCP vs 傳統集成方案:REST API、GraphQL、gRPC的終極對比

MCP vs 傳統集成方案&#xff1a;REST API、GraphQL、gRPC的終極對比 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般絢爛的技術棧中&#xff0c;我是那個永不停歇的色彩收集者。 &#x1f98b; 每一個優化都是我培育的花朵&#xff0c;每一個特…

SQL語句中鎖的使用與優化

一、鎖機制簡介1.定義在數據庫中&#xff0c;除了傳統的計算資源&#xff08;如CPU、RAM、I/O等&#xff09;的爭用以外&#xff0c;數據也是一種供需要用戶共享的資源。如何保證數據并發訪問的一致性、有效性是所有數據庫必須解決的一個問題&#xff0c;鎖沖突也是影響數據庫并…

Linux筆記1——簡介安裝

操作系統給用戶一個操作界面&#xff0c;用戶通過操作界面使用系統資源Linux內核管理控制硬件&#xff0c;和硬件打交道SCSI&#xff08;盤&#xff09;sd**;第一個*表示磁盤順序&#xff0c;第二個*表示分區。例如&#xff1a;sda\sdb\sdc,sda1,sda2NVMe&#xff08;盤&#x…

GoLand 部署第一個項目

前言&#xff1a;Go環境部署分為兩種模式&#xff0c;一種是基于GOPATH部署&#xff08;老版本&#xff09;&#xff0c;另一種是基于Module部署&#xff08;新版本v1.11開始&#xff09;。GOPATH&#xff1a;需要配置GOPATH路徑&#xff0c;將GOPATH目錄視為工作目錄&#xff…

Mosaic數據增強介紹

1. 核心概念與目標Mosaic 是一種在計算機視覺&#xff08;尤其是目標檢測任務&#xff09;中非常流行且強大的數據增強技術。它最早由 Ultralytics 的 Alexey Bochkovskiy 在 YOLOv4 中提出并推廣&#xff0c;后來被廣泛應用于 YOLOv5, YOLOv7, YOLOv8 等模型以及其他目標檢測框…

LINUX 722 邏輯卷快照

邏輯卷快照 lvcreate -L 128M -s -n lv1-snap /dev/vg1/lv1 lvs lvscan mount -o ro /dev/vg1/lv1 /mmt/lv1-snap dmsetup ls --tree 測試 lvs /dev/vg1/lv1-snap dd if/dev/zero of/uc1/test bs1M count40 lvs /dev/vg1/lv1-snap 問題 [rootweb ~]# cd /mnt [rootweb mnt]# m…

Springboot+vue個人健康管理系統的設計與實現

文章目錄前言詳細視頻演示具體實現截圖后端框架SpringBoot前端框架Vue持久層框架MyBaits成功系統案例&#xff1a;代碼參考數據庫源碼獲取前言 博主介紹:CSDN特邀作者、985高校計算機專業畢業、現任某互聯網大廠高級全棧開發工程師、Gitee/掘金/華為云/阿里云/GitHub等平臺持續…

數據結構 --棧和隊鏈

一.棧的概念一種特殊的線性表&#xff0c;只能從固定的一端插入和刪除元素。棧中元素遵循先進后出的原則。二.模擬實現public class MyStack {public int size;public int[] array;public MyStack(){array new int[10];}private void grow(){array Arrays.copyOf(array,array…

文檔處理控件TX Text Control系列教程:使用 C# .NET 將二維碼添加到 PDF 文檔

PDF 文檔通常是合同、發票、證書和報告的最終格式。盡管它們在設計上是靜態的&#xff0c;但用戶現在希望能夠與它們交互、驗證信息并直接從這些文件訪問數字服務。這時&#xff0c;二維碼就變得至關重要。 PDF 文檔中的二維碼將印刷或數字內容與動態在線體驗連接起來。用戶只需…

Google Chrome 谷歌瀏覽器全部版本集合

Google Chrome 谷歌瀏覽器全部版本集合 Collection of all software versions of Google Chrome. 項目介紹 本項目為Google Chrome谷歌瀏覽器的全部版本集合&#xff0c;方便大家下載舊版本使用。 因為Gitee項目限制倉庫1G大小&#xff0c;所以許多谷歌瀏覽器版本無法上傳。…