JavaScript:js;知识回顾;笔记分享

news2024/11/13 11:59:52

一,js前奏

1,js简介:

                                Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。JavaScript 的正式名称是 "ECMAScript"。这个标准由 ECMA 组织发展和维护。ECMA-262 是正式的 JavaScript 标准。这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft)。Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 1996 年开始,已经出现在所有的 Netscape 和 Microsoft 浏览器中。ECMA-262 的开发始于 1996 年,在 1997 年 7 月,ECMA 会员大会采纳了它的首个版本。JavaScript的组成包含ECMAScript、DOM、BOM。JS是一种运行于浏览器端上的小脚本语句,可以实现网页如文本内容动,数据动态变化和动画特效等

2JavaScript组成:

                        JavaScript   =  ECMAScript (语法:输入输出对象类型转换,集合等和Java一样) +DOM (文档对象模型)  +BOM   (浏览器对象模型)

ECMAScript:

                        是一种由欧洲计算机制造商协会(ECMA)通过ECMA-262标准化的脚本程序语言,简单点说,ECMAScript描述了语法、类型、语句、关键字、保留字、运算符和对象。它就是定义了脚本语言的所有属性、方法和对象。

DOM:

                        把整个页面规划成由节点层构成的文档,它不与浏览器、平台、语言相关,为web开发者提供一个标准可以访问站点中的数据、脚本和表现层对象.DOM编程可以实现网页内容校验和动态变化的效果

BOM:

                        是浏览器的一种特性,它可以对浏览器窗口进行访问和操作,例如移动、关闭窗口,调整窗口的大小,支持cookie等。BOM编程可以实现动态控制浏览器本身行为的效果

二,js特点

        1.脚本语言 :

                脚本语言是一种简单的程序,规模小,不需要编译,运行快,是由一些ASCII字符构成,可以使用任何一种文本编辑器编写。脚本语言是指在web浏览器内有解释器解释执行的编程语言,每次运行程序的时候,解释器会把程序代码翻译成可执行的格式。一些程序语言(如C、C++、Java等)都必须经过编译,将源代码编译成二进制的可执行文件之后才能运行,而脚本语言不需要事先编译,只要有一个与其相适应的解释器就可以执行。

        2.基于对象的语言  :

                面向对象有三大特点(封装,继承,多态)缺一不可。通常"基于对象"是使用对象,但是无法利用现有的对象模板产生新的对象类型,也就是说"基于对象"没有继承的特点。没有了继承的概念也就无从谈论"多态"

        3.事件驱动:

                在网页中执行了某种操作的动作,被称为"事件"(Event),比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。

        4.简单性:

                变量类型是采用弱类型,并未使用严格的数据类型。var a,b,c;  a=123;  b="abc"; a=b; 


        5.安全性:

                JavaScript不能访问本地的硬盘,不能将数据存入到服务器上,不能对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互

        6.跨平台性:

                JavaScript依赖于浏览器本身,与操作平台无关, 只要计算机安装了支持JavaScript的浏览器(装有JavaScript解释器),JavaScript程序就可以正确执行。

      缺点:各种浏览器支持JavaScript的程度是不一样的,支持和不完全支持JavaScript的 浏览器在浏览同一个带有JavaScript脚本的网页时,效果会有一定的差距,有时甚至会显示不出来。

三,js和java区别

区别1:公司不同,前身不同

        JavaScript是Netscape公司的产品,是为了扩展Netscape Navigator功能而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是Live Script;Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发; Java的前身是Oak语言。

区别2:基于对象和面向对象

        JavaScript是脚本语言,是一种基于对象的语言。本身提供了非常丰富的内部对象供设计人员使用,但不支持继承和多态。Java是面向对象的,是一种真正的面向对象的语言,支持封装、继承和多态。

区别3:变量类型强弱不同

        Java采用强类型变量检查,即所有变量在编译之前必须声明为某一指定类型。如: int  x=1234;JavaScript中是弱类型变量。统一采用var声明,可赋各种数据类型值。


区别4: 运行的位置不同

        Java运行与服务器端的,大型编程语言, JS运行于客户端(浏览器)一种小规模脚本语言

HTML和CSS和JS这之间的关系:

        HTML和CSS和JS都是前端的主要技术,三者各有分工.HTML可以用于制作网页的主体结构,CSS用于给网页做美化,JS用于在网页上添加动态效果。

四,js引入方式

内嵌式引入:

 <!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8" />
                <title></title>
                <!--内嵌式引入方式
                        1在head标签中,用一对script标签,嵌入JS代码
                        2type属性可以省略不写
                -->
                <script type="text/javascript">
                        
                        /*定义一个函数(方法)*/
                        function fun1(){
                                /*弹窗提示一点信息 */
                                alert("你好")
                        }
                        
                        
                </script>
        </head>
        <body>
                
                <input type="button" value="点我呀" onclick="fun1()" />
                
        </body>
</html>

缺点:
1我们定义的JS代码只能在当前一个网页中使用,代码复用度低,可维护性低

2 JS代码和HTML代码混合在一个文件中,可阅读性差

链接式引入:

优点:

        代码复用度高,更易于维护代码

注:

        1在一个页面上可以同时引入多个JS文件

        2每个JS文件的引入都要使用一个独立的script标签

        3内嵌式和链接式的引入不能使用同一标签

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

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

相关文章

数据结构与算法(1)

抽象数据类型定义 算法的效率 时间效率 一个算法的运行时间是指一个算法在计算机上运行所耗费的时间 大致可以等于计算机执行一种简单的操作(如赋值、比较、移动等) 所需的时间与算法中进行的简单操作次数乘积。 比较时间复杂度&#xff08;看数量级&#xff09; 空…

【STM32】RTC

忠实的时间记录者——RTC&#xff0c;板子断电也能继续记录&#xff08;当然&#xff0c;得有纽扣电池供电&#xff09;。 大部分图片来源&#xff1a;正点原子HAL库课程 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 目录 1 概述 2 应用 3 RTC方案 4 …

javacv-ffmpeg ProcessBuilder批量旋转图片

javacv-ffmpeg ProcessBuilder实现对图片的旋转&#xff0c;最近需要处理很多图片&#xff0c;量有点多&#xff0c;所以不能一个一个去编辑旋转图片&#xff0c;所以写一个工具类&#xff0c;实现对图片的旋转 maven配置文件&#xff0c;加上对ffmpeg的依赖&#xff0c;由于f…

关于自定义控件,头文件找不到问题的解决办法

在ui文件中使用控件提升的时候&#xff0c;突然发现ui_xxxx.h竟然报错了&#xff0c; 这在之前是没有碰到过&#xff0c;苦思过后认为是环境变量的问题&#xff0c;因为现在正在用的构建套件是 mingw 的&#xff0c;但在此之前我一直用的是msvc&#xff0c;并且环境变量的配置…

骑行耳机该怎么选?精选南卡、骨聆、小米多款顶尖实用品牌!

骨传导耳机&#xff0c;作为运动骑行领域的黑科技伴侣&#xff0c;以其独特的传音方式&#xff0c;让众多骑行运动爱好者在享受音乐的同时&#xff0c;依然能清晰感知外界环境&#xff0c;提升运动安全与乐趣。然而&#xff0c;随着骨传导耳机热度增加&#xff0c;市面上开始出…

Prometheus监控Kubernetes ETCD

文章目录 一、kubeadm方式部署etcd1.修改etcd指标接口监听地址2.prometheus中添加etcd的服务发现配置3.创建etcd的service4.grafana添加etcd监控模版 二、二进制方式部署k8s etcd1.将etcd服务代理到k8s集群2.创建etcd证书的secrets3.prometheus挂载etcd证书的secrets4.promethe…

63. 不同路径 II -dp7

63. 不同路径 IIhttps://leetcode.cn/problems/unique-paths-ii/ 输入&#xff1a;obstacleGrid [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff1a;2 解释&#xff1a;3x3 网格的正中间有一个障碍物。 从左上角到右下角一共有 2 条不同的路径&#xff1a; 1. 向右 -> 向右 ->…

Chrome 中的 RCE 会在 JIT 编译器中产生不正确的副作用

此类漏洞通常是“一键式”攻击的起点,当受害者访问恶意网站时,该漏洞会危害受害者的设备。Chrome 中的渲染器 RCE 允许攻击者危害 Chrome 渲染器进程并执行任意代码。但是,渲染器进程的权限有限,因此攻击者需要将此类漏洞与第二个“沙盒逃逸”漏洞串联起来:Chrome 浏览器进…

C#WinFrom 中实现可自定义按钮和事件的消息提示框

实现效果&#xff1a; public partial class CustomMessageBox : Form {// 声明按钮和标签控件private Button btnOption1;private Button btnOption2;private Label lblMessage;// 自定义属性用于获取对话框的结果public DialogResult DialogResult1 { get; private set; }// …

一文弄懂SQL事务隔离级别

SQL 事务隔离级别 在多用户数据库系统中&#xff0c;为了保证数据的完整性和一致性&#xff0c;SQL 标准提出了四种事务隔离级别&#xff0c;以规避脏读、不可重复读和幻读等问题。以下是四种隔离级别的简要介绍&#xff1a; 读未提交&#xff08;read uncommitted&#xff09…

产业报告 | 2024年中国低空经济产业研究报告

低空经济是指以各种有人驾驶和无人驾驶航空器的各类低空飞行活动为牵引&#xff0c;辐射带动航空器研发、生产、销售以及低空飞行活动相关的基础设施建设运营、飞行保障、衍生综合服务等领域产业融合发展的综合经济形态。 基于启信产业大脑的海量数据与专业研判模型&#xff0…

【Linux C++】log4cpp日志库的安装和使用详解

log4cpp 是一个开源的 C 日志库&#xff0c;灵感来源于 Java 的 log4j。它提供了灵活的日志记录功能&#xff0c;可以帮助开发者在 C 应用程序中记录、管理和格式化日志信息。log4cpp 支持多种日志记录策略和输出目标&#xff0c;可以满足各种不同的需求。 1.安装 下载压缩包…

2.2.2 Posix API与网络协议栈2

接上回2.2.2 posix api 2 传输数据 四线一⚪&#xff0c;kernel 协议栈 send- write&#xff0c; recv-read 如何知道send成功&#xff1f; 如果返回整数&#xff0c;只能证明data从user copy到内核kernel wmemory了 就是数据传输是异步的&#xff0c;send是从application cop…

二叉树的层序遍历 C++

给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例 2&#xff1a; 输入&…

李宏毅 机器学习与深度学习【2022版】 02

文章目录 一、机器学习任务攻略二、优化失败1、梯度很小的情况2、Batch and Momentum 三、自适应学习率 Adaptive Learning Rate四、分类问题简述五、重温神奇宝贝和数码宝贝分类器六、深度学习的优化 一、机器学习任务攻略 因为在训练集中&#xff0c;56层的network一定至少和…

等保测评(三级)服务器和终端-测评项及整改措施(详细)

本文按照三级等保标准进行测评&#xff0c;可参考进行加固。 等保测评是信息安全等级保护工作的基本制度、基本策略和基本方法。 等保测评是信息安全等级保护工作的基本制度、基本策略和基本方法。信息系统运营、使用单位应选择符合国家要求的测评机构&#xff0c;依据《信息…

Java中常用的API

具体的例子就不再列出了 自己尝试 // 注意第三个方法 1.如果数据源数组和目的地数组都是基本数据类型&#xff0c;那么两者的类型必须保持一致&#xff0c;否则会报错 2.如果数据源数组和目的地数组都是引用数据类型&#xff0c;那么子类类型可以赋值给父类类型 public cl…

并发服务器---IO多路复用

单循环服务器&#xff1a;同一时刻只能处理一个客户端任务 并发服务器&#xff1a; 同一时刻&#xff0c;只能处理多个客户端的任务 实现方法&#xff1a;多进程 多线程 IO多路复用 IO多路复用&#xff1a; 1.阻塞io&#xff08;fgets scanf recv getchar read&#x…

【python计算机视觉编程——1.基本的图像操作和处理】

python计算机视觉编程——1.基本的图像操作和处理 1.基本的图像操作和处理1.1 PIL:Python图像处理类库1.1.1 转换图像格式1.1.2 创建缩略图1.1.3 复制和粘贴图像区域1.1.4 调整尺寸和旋转 1.2 Matplotlib1.2.1绘制图像、点和线1.2.2 图像轮廓和直方图 1.3 Numpy1.3.1 图像数组表…

【STM32】DMA

描述 大部分图片来源&#xff1a;正点原子HAL库课程 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 目录 0 概述 1 原理&#xff08;用于个人理解的&#xff0c;非常重要&#xff01;&#xff09; 1.1 DMA请求 1.2 循环模式与DMA请求的关系 1.3 …