11.初始JavaScript[初步了解何为js]

news2024/7/4 4:21:22

文章目录

  • 1.初识 JavaScript
    • 1.1JavaScript 是什么
    • 1.2发展历史
    • 1.3JavaScript 和 HTML 和 CSS 之间的关系
    • 1.4JavaScript 运行过程
    • 1.5JavaScript 的组成
  • 2.前置知识
    • 2.1第一个程序
    • 2.2JavaScript 的书写形式
      • 2.2.1行内式
      • 2.2.2内嵌式
      • 2.2.3外部式
    • 2.3注释
    • 2.4输入输出
      • 2.4.1输入: prompt
      • 2.4.2输出: alert
      • 2.4.3输出: console.log
  • 3.强弱类型语言
    • 3.1强类型语言
    • 3.2弱类型语言
    • 3.3强类型语言和弱类型语言比较
  • 3.强弱类型语言
    • 3.1强类型语言
    • 3.2弱类型语言
    • 3.3强类型语言和弱类型语言比较

大家好,我是晓星航。今天为大家带来的是 JavaScript的简单介绍 相关的讲解!😀

1.初识 JavaScript

1.1JavaScript 是什么

JavaScript (简称 JS)

  • 是世界上最流行的编程语言之一
  • 是一个脚本语言, 通过解释器运行
  • 主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行.

JavaScript 最初只是为了完成简单的表单验证(验证数据合法性), 结果后来不小心就火了.

当前 JavaScript 已经成为了一个通用的编程语言

JavaScript 的能做的事情:

  • 网页开发(更复杂的特效和用户交互)
  • 网页游戏开发
  • 服务器开发(node.js)
  • 桌面程序开发(Electron, VSCode 就是这么来的)
  • 手机 app 开发

1.2发展历史

JavaScript 之父 布兰登 * 艾奇 (Brendan Eich)

曾经的布兰登

image-20231017204501766

发明 JavaScript 之后的布兰登(我变秃了,也变牛逼了)

image-20231017204516834

1995 年, 用 10 天时间完成 JS 的设计 (由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript 写出来的程序混乱不堪)

最初在网景公司, 命名为 LiveScript,

一般认为,当时 Netscape 之所以将 LiveScript 命名为 JavaScript,是因为 Java 是当时最流行的 编程语言,带有 “Java” 的名字有助于这门新生语言的传播。

其实 Java 和 JavaScript 之间的语法风格相去甚远.

Java 和 JavaScript的关系
就像雷锋和雷峰塔一样
就像印度和印度尼西亚一样
就像周杰和周杰伦一样

JavaScript 发展历史可以参考阮一峰大神的博客

[阮一峰大神的博客](Javascript诞生记 - 阮一峰的网络日志 (ruanyifeng.com))

1.3JavaScript 和 HTML 和 CSS 之间的关系

image-20231017204530798

  • HTML: 网页的结构(骨)
  • CSS: 网页的表现(皮)
  • JavaScript: 网页的行为(魂)

image-20231017204600192

1.4JavaScript 运行过程

  • 编写的代码是保存在文件中的, 也就是存储在硬盘(外存上).
  • 双击 .html 文件浏览器(应用程序)就会读取文件, 把文件内容加载到内存中(数据流向: 硬盘 => 内存)
  • 浏览器会解析用户编写的代码, 把代码翻译成二进制的, 能让计算机识别的指令(解释器的工作)
  • 得到的二进制指令会被 CPU 加载并执行(数据流向: 内存 => CPU)

image-20231017204612507

浏览器分成渲染引擎 + JS 引擎.

  • 渲染引擎: 解析 html + CSS, 俗称 “内核”
  • JS 引擎: 也就是 JS 解释器. 典型的就是 Chrome 中内置的 V8

JS 引擎逐行读取 JS 代码内容, 然后解析成二进制指令, 再执行.

JS 是运行在浏览器上的,比如 chrome 里面专门有一个模块,就是 JS 引擎。就相当于 JVM 一样,能够解释执行 js 代码。后来就有大佬把这部分单独拎出来,封装成程序,称为 V8引擎。

1.5JavaScript 的组成

  • ECMAScript(简称 ES): JavaScript 语法
  • DOM: 页面文档对象模型, 对页面中的元素进行操作
  • BOM: 浏览器对象模型, 对浏览器窗口进行操作

光有 JS 语法, 只能写一些基础的逻辑流程.

但是要想完成更复杂的任务, 完成和浏览器以及页面的交互, 那么久需要 DOM API 和 BOM API.

这主要指在浏览器端运行的 JS. 如果是运行在服务端的 JS , 则需要使用 node.js 的 API,

就不太需要关注 DOM 和 BOM

重要概念: ECMAScript

这是一套 “标准”, 无论是啥样的 JS 引擎都要遵守这个标准来实现.

啥叫标准? 车同轨, 书同文. 秦始皇最大的贡献之一, 就是制定了一套标准.

三流公司做产品, 一流公司做标准.

2.前置知识

2.1第一个程序

<script>
    alert("你好!");
</script>
  • JavaScript 代码可以嵌入到 HTML 的 script 标签中.

2.2JavaScript 的书写形式

2.2.1行内式

直接嵌入到 html 元素内部

<input type="button" value="点我一下" onclick="alert('haha')">

注意, JS 中字符串常量可以使用单引号表示, 也可以 使用双引号表示.

HTML 中推荐使用双引号, JS 中推荐使用单引号.

2.2.2内嵌式

写到 script 标签中

<script>
    alert("haha");
</script>

2.2.3外部式

写到单独的 .js 文件中

<script src="hello.js"> </script>
alert("hehe");

注意, 这种情况下 script 标签中间不能写代码. 必须空着(写了代码也不会执行).

适合代码多的情况.

2.3注释

单行注释 // [建议使用]

多行注释 /* */

// 我是单行注释
/*
   我是多行注释
   我是多行注释
   我是多行注释
*/

使用 ctrl + / 切换注释.

多行注释不能嵌套. 形如这种代码就会报错

/*
/*
   我是多行注释
   我是多行注释
   我是多行注释
*/
*/

2.4输入输出

2.4.1输入: prompt

弹出一个输入框

// 弹出一个输入框
prompt("请输入您的姓名:");

2.4.2输出: alert

弹出一个警示对话框, 输出结果

// 弹出一个输出框
alert("hello");

2.4.3输出: console.log

在控制台打印一个日志(供程序员看)

// 向控制台输出日志
console.log("这是一条日志");

注意: 在 VSCode 中直接输入 “log” 再按 tab 键, 就可以快速输入 console.log

需要打开浏览器的开发者工具(F12) => Console 标签页 才能看到结果.

image-20231017204622531

这样的输出一般不是给普通用户看的, 而是程序员来看的.

重要概念: 日志

日志是程序员调试程序的重要手段

去医院看病, 医生会让患者做各种检查, 血常规, 尿常规, B超, CT等… 此时得到一堆检测结果. 这些结 果普通人看不懂, 但是医生能看懂, 并且医生要通过这些信息来诊断病情.

这些检测结果就是医生的 “日志”

PS: 相比于医生来说, 程序猿多一个终极大招, “重启下试试”.

重要概念: .

console 是一个 js 中的 “对象”

. 表示取对象中的某个属性或者方法. 可以直观理解成 “的”

console.log 就可以理解成: 使用 “控制台” 对象 “的” log 方法.

例如我们这里引入一个数字10和一个字符’10’进行比较,这时我们在console(控制台)中就能看到我们比较出来的结果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let a = 10;
        let b = '10';
        console.log(a == b);

        let c = true;
        let d = 1;
        console.log(c == d);
    </script>
</body>
</html>

image-20231017204638460

3.强弱类型语言

3.1强类型语言

像 Java 这种,不太支持隐式类型转换的语言,称为"强类型"语言。

3.2弱类型语言

像 JS 这种,比较能支持隐式类型转换的语言,称为"弱类型"语言。

3.3强类型语言和弱类型语言比较

image-20231017204647115

业界目前公认强类型比弱类型要好。

</script>
```

[外链图片转存中…(img-hEFMKD3F-1698297322436)]

3.强弱类型语言

3.1强类型语言

像 Java 这种,不太支持隐式类型转换的语言,称为"强类型"语言。

3.2弱类型语言

像 JS 这种,比较能支持隐式类型转换的语言,称为"弱类型"语言。

3.3强类型语言和弱类型语言比较

[外链图片转存中…(img-zosi8xzN-1698297322437)]

业界目前公认强类型比弱类型要好。

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WSL重装Anaconda

第一次安装使用的是官网下载的文件&#xff0c;存放在Windows中进行安装的&#xff0c;结果安装后有一些小错误&#xff0c;现在想重新安装过。 一、卸载原Anaconda 首先要知道Anaconda的安装地址&#xff0c;默认地址为&#xff1a;C:\Users\用户名\AppData\Local\Packages\…

Linux ————​文件权限

&#xff08;一&#xff09;文件权限 基础补充 文件基本属性&#xff08;Linux中万物皆是文件&#xff09;文件是操作系统用来存储信息的基本结构&#xff0c;是一组信息的集合。文件通过文件名来唯一标识。Linux中的文件名称最长允许255个字符&#xff0c;这些字符可用A~Z、0…

【小程序图片水印】微信小程序图片加水印功能 canvas绘图

看看效果 实现步骤&#xff1a; 1.选择图片 /* 选择背景图片 对图片的大小以及类型做一下限制 */ chooseImage(e) {uni.chooseImage({count: 1,success: (res) > {let index res.tempFilePaths[0].lastIndexOf(".");let imgUrl res.tempFilePaths[0].substr(i…

【设计模式】第3节:设计模式概论

设计模式不是代码&#xff0c;而是某类问题的通用方案。设计模式的本质是提高软件的维护性、通用性和扩展性&#xff0c;并降低软件的复杂度。一共有24种设计模式&#xff0c;可以分为创建型模式、结构型模式和行为型模式三大类。设计模式中比较重要的有&#xff1a;单例模式、…

seata at模式死锁

背景 mysql版本为5.7,在mysql的系统表中&#xff0c;有一个lock_deadlocks的指标 SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE name LIKE %deadlock%该指标的count值记录了数据库实例从启动到现在的死锁次数&#xff0c;我们通过普罗米修斯的mysql探针&#xff0…

软件外包开发的代码质量控制

软件代码质量控制是确保软件项目成功的重要组成部分。以下是一些常见的软件代码质量控制方法&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.代码审查&#xff08;Code Review&#xff09; 通过定…

Zynq UltraScale+ XCZU15EG 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

目前比较好用的护眼台灯?央视公认最好的护眼台灯推荐

写这篇文章的时候&#xff0c;我总有种悔不当初的痛感&#xff1a;上学时只喜欢造型好看的台灯&#xff0c;总是把老妈买的护眼灯丢在一边&#xff0c;导致现在眼睛高度近视。虽然不念书了&#xff0c;但平日使用电脑浏览信息、阅读纸质书仍是抛弃不掉的生活习惯&#xff0c;配…

Redis实现方式开启新篇章,解决分布式环境下的资源竞争问题,提升系统稳定性

前言 分布式锁一般有三种实现方式&#xff1a; 数据库乐观锁&#xff1b;基于Redis的分布式锁&#xff1b;基于ZooKeeper的分布式锁 本篇博客将介绍第二种方式&#xff0c;基于Redis实现分布式锁。 虽然网上已经有各种介绍Redis分布式锁实现的博客&#xff0c;然而他们的实…

万字长文搞懂产品模式和项目模式

项目模式是很多传统企业对IT进行投资的方式&#xff0c;相对于产品模式&#xff0c;项目模式在团队建设、快速反应等方面存在很多弊端&#xff0c;本文从多个角度比较了产品和项目两种团队模式的利弊&#xff0c;并在最后回答了若干常见问题。原文: Products Over Projects 软件…

活动回顾|KCD 2023 杭州站

KCD 2023 活动介绍 HANGZHOU 关于 KCD Kubernetes Community Days&#xff08;KCD&#xff09;由云原生计算基金会&#xff08;CNCF&#xff09;发起&#xff0c;由全球各国当地的 CNCF 大使、CNCF 员工以及 CNCF 会员单位联合组织。目前 KCD 正在全球各个国家活跃地组织进行中…

nvidia-smi

1、说明 nvidia-smi 是 NVIDIA System Management Interface 的缩写&#xff0c;是 NVIDIA 提供的一个命令行工具&#xff0c;用于查看和管理 NVIDIA GPU 设备的信息。执行这个命令通常可以获取关于系统上安装的 NVIDIA GPU 的实时状态和性能信息。 一般来说&#xff0c;nvid…

内裤洗衣机有用吗?公认好用的四大款内衣洗衣机推荐

内衣目前洗衣机已经成为我们生活中不可缺少的一种电器。这不但可以节约我们的时间&#xff0c;而且能更好地清洗干净贴身衣物&#xff0c;使我们的生活变得更健康。那么到底哪些内衣洗衣机值得买呢&#xff1f;哪些内衣洗衣机清洗效果会更干净呢&#xff1f;这次&#xff0c;我…

众和策略:谷歌大跌!土耳其股市,两度熔断!

当地时间周三&#xff0c;美股三大指数团体收跌&#xff0c;谷歌等大型科技股连累纳指大跌超2%&#xff0c;创2月以来最大单日跌幅。 当日&#xff0c;谷歌股价大跌近10%至三个月低位&#xff0c;市值一夜蒸发超1600亿美元。周二盘后&#xff0c;谷歌母公司Alphabet发布了最新…

FinalShell或者XShell工具 突然连不上服务器(绝对好使!)

关闭网络管理器 systemctl stop NetworkManager禁止网络管理器开机重启 systemctl disable NetworkManager重启网络 service network restart绝对好使&#xff01;

技术实力获行业高度认可,几何伙伴首获科技进步奖殊荣!

2023年10月25日&#xff0c;“2023年度中国汽车工程学会科学技术奖”正式公布并于北京举行颁奖典礼&#xff0c;以对汽车工业努力奋斗、勇于创新的优秀企业和人才进行嘉奖&#xff0c;对优秀先进成果进行表彰。 其中&#xff0c;由几何伙伴主导&#xff0c;携手上汽集团、友道智…

睿趣科技:抖音小店在哪里选品

随着抖音平台的日益火爆&#xff0c;越来越多的商家选择在抖音小店开设自己的店铺。然而&#xff0c;对于许多新手来说&#xff0c;如何选品却成为了一个难题。那么&#xff0c;抖音小店应该在哪里选品呢? 首先&#xff0c;我们可以从抖音平台上的热门商品入手。通过观察抖音上…

创业酵母:为创业酵母的新增长,数字化“发酵”

成立于2014年11月的创业酵母是一家以教育和咨询为核心的一站式企业服务平台。 张丽俊&#xff08;Cherry&#xff09;和俞朝翎&#xff08;俞头&#xff09;是创业酵母的两位创始人&#xff0c;由于两位创始人都是第一代阿里人&#xff0c;他们希望能将自己在阿里沉淀下来的经验…

NPDP产品经理证书是什么行业的证书?

NPDP是一个跨行业的证书&#xff0c;它适用于各种不同类型和规模的组织。无论是制造业、服务业还是科技领域&#xff0c;都可以从NPDP认证中获益。 1. 制造业&#xff1a; 制造业涉及大量的产品开发和创新活动。从汽车制造到电子设备制造&#xff0c;从家居用品到航天航空&…

重复性管理--抽象的重要性(上)

Haskell 语言的设计者之一 Paul Hudak 曾说过一句略带夸张的话(overstatement): 编程中最重要的三件事是: 抽象, 抽象, 抽象. “abstraction, abstraction, abstraction” are the three most important things in programming. 如果你去问一些资深开发者, 程序员最重要的的能力…