自学JavaScript(放假在家自学第一天)

目录

 JavaScript介绍分为以下几点

1.1 JavaScript 是什么

1.2JavaScript书写位置

1.3 Javascript注释

1.4 Javascript结束符

1.5 Javascript输入输出语法


JavaScript(是什么?)

是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。

2.作用(做什么?)
网页特效(监听用户的一些行为让网页作出对应的反馈),

表单验证(针对表单数据的合法性进行判断)

数据交互(获取后台的数据,渲染到前端)

服务端编程(node.js)

 JavaScript介绍分为以下几点

1.1 JavaScript 是什么


Javascript的组成(有什么?)

  1. ECMAScript: 这是 JavaScript 的标准定义,由 ECMA-262 规范定义。ECMAScript 规定了 JavaScript 的语法、类型、语句、关键字、保留字、操作符、全局对象和原型等基础特性。它不包括任何与浏览器或服务器端环境相关的功能,比如 DOM 或 BOM。

  2. Web APIs: 这些是 JavaScript 可以使用的一系列应用程序接口,它们允许 JavaScript 与网页和浏览器进行交互。主要分为以下几类:

    • DOM (Document Object Model): 它是一个编程接口,用于操作 HTML 和 XML 文档。DOM 将文档呈现为一个由节点组成的树状结构,每个节点代表文档中的一个元素或文本片段。通过 DOM,你可以使用 JavaScript 来添加、删除或修改页面的元素和属性,以及响应用户事件(如点击、滚动等)。

    • BOM (Browser Object Model): 它提供了与浏览器交互的方法和属性。使用 BOM,你可以控制浏览器窗口(如打开新窗口、改变窗口大小等),与浏览器的导航功能交互(如后退、前进等),以及访问浏览器的会话存储或本地存储。

  3. 事件: 事件是用户或浏览器触发的动作,比如点击、按键、页面加载等。JavaScript 可以监听这些事件,并定义当事件发生时执行的代码。

  4. AJAX (Asynchronous JavaScript and XML): 它是一种在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。AJAX 使得网页可以更加动态和响应用户操作。

  5. JSON (JavaScript Object Notation): 这是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON 是 JavaScript 对象的字符串表示法,常用于前后端之间的数据传输。

  6. CSS 操作: 虽然 CSS 本身不是 JavaScript 的一部分,但 JavaScript 可以操作 CSS,比如改变样式、类名等。

  7. WebGL 和 Canvas: 这些技术允许 JavaScript 在网页上绘制图形和动画。Canvas 提供一个二维绘图 API,而 WebGL 提供一个三维图形的 API。

  8. Web Workers: 它们允许 JavaScript 在后台线程中运行脚本,不会影响到页面的性能。

  9. Web Components: 这是一组不同的技术,允许你创建可重用的自定义元素,扩展 HTML 的能力。

  10. 服务端 JavaScript (如 Node.js): 虽然不是直接与浏览器相关的技术,但 JavaScript 也可以在服务器端运行,处理 HTTP 请求、数据库交互等。

 

1.2JavaScript书写位置

 

 1.内部Javascript

 注意事项
我们将 <script>放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载 HTML如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效,因此,将JavaScript 代码放在 HTML页面的底部附近通常是最好的策略。

 2.外部Javascript

 注意事项
1.script标签中间无需写代码,否则会被忽略!
2.外部avaScript会使代码更加有序,更易于复用,且没有了脚本的混合,HTML也会更加易读,因此这是个好的习惯。

 3.内联Javascript

1.3 Javascript注释

单行注释
符号://
作用://右边这一行的代码会被忽略
快捷键:ctrl+/


块注释
符号:/* */
作用:在/*和*/之间的所有内容都会被忽略快捷键:shift+alt+a

 

 

1.4 Javascript结束符


作用:使用英文的;代表语句结束

实际情况: 实际开发中,可写可不写,览器(avaScript 引擎) 可以自动推断语句的结束位置

现状:在实际开发中,越来越多的人主张,书写JavaScript 代码时省略结束符

约定:为了风格统一,结束符要么每句都写,要么每句都不写(按照团队要求.)

1.5 Javascript输入输出语法

目标:能写出常见JavaScript 输入输出语法
什么是语法:
;人和计算机打交道的规则约定

;我们要按照这个规则去写

;比如:你吃了吗?

;我们程序员需要操控计算机,需要计算机能看懂

 

输出和输入也可理解为人和计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示结果给用户
这便是一次输入和输出的过程。

 

 

Javascript 代码执行顺序:
按HTML文档流顺序执行JavaScript代码
alert()和 prompt()它们会跳过页面渲染先被执行(目前作为了解,后期讲解详细执行过程)

 

这一节课的总结:

 

期末放假自学Javascript,希望我们可以一起学习!

 

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

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

相关文章

NestedScrollVew实现原理分析

NestedScrollView 是 Android 中的一个特殊滚动视图&#xff0c;它继承自 ScrollView&#xff0c;但添加了对嵌套滚动&#xff08;nested scrolling&#xff09;的支持。这使得 NestedScrollView 可以与其它支持嵌套滚动的视图&#xff08;如 RecyclerView&#xff09;协同工作…

从头开始微调Llama 3.1模型

在今天的科技专栏中&#xff0c;我们将深入探讨如何微调Llama 3.1模型&#xff0c;以使其更好地适应您的特定领域数据。微调大型语言模型&#xff08;如Llama&#xff09;的主要目的是为了在特定领域的数据上表现更好&#xff0c;从而生成更符合您需求的输出。以下是我们将要介…

链表的中间结点 - 力扣(LeetCode)C语言

876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09;( 点击前面链接即可查看题目) /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* head) {struct Lis…

如何实现一个大模型在回答问题时同时提供相关内容链接

通义生成 为了让大模型在回答问题时能够提供相关内容链接&#xff0c;通常采用的方法是结合检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;的技术。这种方法可以让大模型在生成答案的同时&#xff0c;从外部知识源中检索相关信息&#xff0c;并将这…

SpringBoot知识笔记

一、基本概念 1.1 特性 起步依赖 自动配置 其它特性:内嵌的Tomcat、Jetty(无需部署WAR文件),外部配置,不需要XML配置(properties/yml)。 1.2 配置文件 SpringBoot提供了多种属性配置方式 //application.properties server.port=9090 server.servlet.context-path…

状态模式与订单状态机的实现

状态模式 状态模式&#xff08;State Design Pattern&#xff09;是一种行为设计模式&#xff0c;用于在对象的内部状态改变时改变其行为。这种模式可以将状态的变化封装在状态对象中&#xff0c;使得对象在状态变化时不会影响到其他代码&#xff0c;提升了代码的灵活性和可维…

Python爬虫知识体系-----Urllib库的使用

数据科学、数据分析、人工智能必备知识汇总-----Python爬虫-----持续更新&#xff1a;https://blog.csdn.net/grd_java/article/details/140574349 文章目录 1. 基本使用2. 请求对象的定制3. 编解码1. get请求方式&#xff1a;urllib.parse.quote&#xff08;&#xff09;2. ur…

邦布带你从零开始实现图书管理系统(java版)

今天我们来从零开始实现图书管理系统。 图书管理系统 来看我们的具体的实现&#xff0c;上述视频。 我们首先来实现框架&#xff0c;我们要实现图书管理系统&#xff0c;首先要搭框架。 我们首先定义一个书包&#xff0c;在书包中定义一个书类和一个书架类&#xff0c;再定义…

数据库之常用函数

目录 一、数值函数 1.求绝对值函数 2.求余函数 3.用于获取整数的函数 4.获取随机数的函数 5.四舍五入函数 6.截取小数函数 二、字符串函数 1.返回字符串长度和字符串中字符个数的函数 2.合并字符串的函数 3.替换字符串的函数 4.字母大小写转换函数 5.获取指定长度…

Webpack、Vite区别知多少?

前端的项目打包&#xff0c;我们常用的构建工具有Webpack和Vite&#xff0c;那么Webpack和Vite是两种不同的前端构建工具,那么你们又是否了解它们的区别呢&#xff1f;我们在做项目时要如何选择呢&#xff1f; 一、工具定义 1、Webpack&#xff1a;是一个强大的静态模块打包工…

用Java手写jvm之实现查找class

写在前面 完成类加载器加载class的三阶段&#xff0c;加载&#xff0c;解析&#xff0c;初始化中的加载&#x1f600;&#x1f600;&#x1f600; 源码 。 jvm想要运行class&#xff0c;是根据类全限定名称来从特定的位置基于类加载器来查找的&#xff0c;分别如下&#xff1a;…

go语言与UPX

源自&#xff1a;压缩工具之upx_51CTO博客_za压缩工具 下面是直接copy的&#xff1a; 在golang项目中, 最终运行的是打包好的二进制文件,如何才能让这个文件尽可能的小呢? 1.编译阶段的参数处理 go build使用的是静态编译&#xff0c;会将程序的依赖一起打包&#xff0c;这…

【SQL 新手教程 2/20】关系模型 -- 主键

&#x1f497; 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表 记录 (Record)&#xff1a; 表的每一行称为记录&#xff08;Record&#xff09;&#xff0c;记录是一个逻辑意义上的数据 字段 (Column)&#xff1a;表的每一列称为字段&#xff08;Colu…

【算法】二进制常用操作

二进制常用操作 求n的二进制中第k位数字&#xff1a; n > > k & 1 n>>k\& 1 n>>k&1​ lowbit(x)的用法:返回x中最后一个1&#xff0c; l o w b i t ( x ) x & ( − x ) lowbit(x)x\&(-x) lowbit(x)x&(−x)​ 输入一个 32 位整数&a…

java如何同时继承接口和抽象类

java中要同时继承接口和抽象&#xff0c;需要用到的语句是 class 类名 extends 抽象类名 implements 接口 示例代码如下 interface Animal02{public String Name"牧羊犬";public void shout();public void info(); } abstract class Action01{public abstract voi…

解锁Vue的潜力:封装递归组件的经验之谈(网站导航层架嵌套)

最近在使用BootstrapVue写一个网站(我也不知道为啥要用这个&#x1f602;)&#xff0c;使用到了NavBarDropDown等一些组件的组合,可以自动创建一个响应式的效果&#xff0c;还不错。But…,这个DropDown只支持到二级。有人2019年就在Github上提了issue- dropdown submenu并且作者…

WebKit的CSS Aspect Ratio Box:重塑响应式设计

WebKit的CSS Aspect Ratio Box&#xff1a;重塑响应式设计 在响应式网页设计中&#xff0c;保持元素的宽高比是一个常见需求。幸运的是&#xff0c;CSS提供了一个名为aspect-ratio的属性&#xff0c;它允许开发者为元素定义一个理想的宽高比。在WebKit中&#xff0c;这个属性得…

吴恩达的TranslationAgent学习

TranslationAgent构成 整个[TranslationAgent (github.com)]在流程上分为短文本的一次性翻译和长文本的分chunk翻译&#xff08;按照Token进行划分&#xff09;。 但是不论长文本翻译还是短文本翻译&#xff0c;总体流程遵循执行、纠正再执行的逻辑循环实现。 这种按照自省思路…

数据库DDL | 增 删 改 操作 | 对数据库数据表

DDL建库建表(操作数据库/表)⭐️⭐️⭐️ 数据库 创建库 //create database 库名 create database xiaozhao2;查看库 //查看所有的库 show databases;删除库(危险操作) //drop database 库名 drop database xiaozhao2;使用库\切换库 //use 库名 use xiaozhao2;查看库数据…

【数字IC/FPGA】使用Verdi对比两个波形

步骤一&#xff1a; 使用verdi打开第一个波形 bsub verdi -ssf 1.fsdb添加需要观察的信号&#xff0c;如下图所示&#xff1a; 步骤二&#xff1a; 新建容器&#xff0c;依次点击Window --> Dock to --> New Container Window。 然后输入容器的名字&#xff0c;如下图所…