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;所以许多谷歌浏览器版本无法上传。…