JavaScript简介

这篇博客介绍了JavaScript的历史、功能、特点、发展以及构成。JavaScript最初由Netscape开发,后来得到广泛支持,成为创建交互式网页的关键。它能进行表单验证、操作HTML、响应事件、控制窗口、处理Cookies和实现特效。JavaScript具有解释性、基于对象、事件驱动和跨平台等特性,由ECMAScript、DOM和BOM三部分构成。JavaScript的发展包括ECMAScript版本的更新,以及在不同浏览器中的实现。此外,文中还讨论了DOM和BOM在JavaScript中的作用,以及如何在HTML中使用JavaScript。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是JavaScript

JavaScript最早是由Netscape Communication (网景)公司开发出来的一种客户端脚本语言。它是一种通用的、跨平台的、基于对象和事件驱动的解释型脚本语言。它的代码可以直接嵌入在HTML页面中,把静态页面变成支持用户交互并响应相应事件的动态页面。(即时编译)

livescript  借助 java气场  javascript ->js  最初这种脚本语言只能在网景公司的浏览器—Navigator中使用。为了抢占浏览器市场,微软在其IE浏览器里也加入了对JavaScript的支持,从此JavaScript得到了广泛的支持。目前几乎所有的主流浏览器都支持JavaScript microsoft  ->jscript

二、JavaScript可以做什么?

        对表单数据进行验证;(java后台)

操作HTML文档(如读取文档内容,动态写入文本);

对客户端事件进行响应;

控制浏览器窗口(如打开新窗口,调整窗口大小等);

创建和读取Cookies

实现网页特效,提供更好的用户体验。

三、JavaScript不可以做什么?

JavaScript不允许写服务器上的文件;

前端 js(基于面向对象)   json/xml(nodeJs服务器端的JS) 前后端进行分离 用NodeJs做数据转换(JSON        java (对象)

全栈:js 移动端   前端  服务器端(nodeJs

JavaScript不可以关闭不是由它自己打开的窗口;

JavaScript不能读取已经打开的其他窗口中的信息;

四、JavaScript的基本特点

解释性—JavaScript不同于一些编译性的语言,如CC++等,它是一种解释性的语言,它的源代码不需要经过编译,而是在浏览器中运行时被解释。(现在有一种新的说法叫即时编译)

基于对象—JavaScript是一种基与对象的语言,它内置了多种对象并允许用户自己创建对象。

事件驱动—JavaScript可以直接对用户的输入做出响应,无需经过Web服务程序,它对用户的响应,是以事件(如鼠标事件、键盘事件)驱动的方式进行的。

跨平台—JavaScript是一种跨平台的语言,它依赖于浏览器本身,与操作系统无关。只要计算机能运行浏览器,并且浏览器支持JavaScript就可执行。

五、JavaScript的发展历史

微软推出Jscript,这意味着有了两个不同版本的JavaScriptNavigator中的JavaScriptIE中的Jscript。由于没有标准规定JavaScript的语法和特性,两个不同版本并存的局面暴露出各种问题,JavaScript的标准化被提上了议事日程。

1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲及技术制造商协会(ECMA),该协会指定39号技术委员会负责JavaScript的标准化工作。经过数月的努力,一种名为ECMAScript的脚本语言标准被定义完成,它被称为ECMA-262ES5(javaScript进行规范)

ES6  es2015  es2016 es2017 es2018 可以在js 中写类

全是JAVA的思想  nodejs用的全是ES6的语法 ES6支持ES5的严格模式.

1998年,ISO/IEC(国际标准化组织和国际电工委员会)也采用了ECMAScript做为标准。自此以后,浏览器开发商就开始致力于将ECMAScript做为各自JavaScript实现的基础。

六、JavaScript的构成

一个完整的JavaScript实现由三个不同的部分组成:

核心(ECMAScript

文档对象模型(DOM)为了读写文件提供了一个接口 xml

html  js

浏览器对象模型(BOMwindow->document/history/screen

六、JavaScript的构成

ECMAScript

 它规定了JavaScript这门语言的一些组成部分:语法、类型、语句、关键字、保留字、操作符、对象。它与WEB浏览器之间没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。ECMA-262只定义这门语言的基础,而在此基础之上可以构件更完善的脚本语言。常见的web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间的对接交互。而这些扩展——DOM,则利用EMAScript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作,其他的宿主环境包括Node(一种服务器端javascript平台)和Adobe Flash

ECMA-262标准没有参照web浏览器,它规定了这门语言的下列如下组成部分:

   语法

   类型

   关键字

   保留字

   操作符

   对象

ECMAScript就是对实现标准规定的各个方面内容的语言的描述。JavaScript实现了ECMAScript,Adobe ActionScript同样也实现了ECMAScript. flex开发 vbscript

ECMAScript的版本

   ECMAScript的不同版本又称为版次,以第X版表示(意即描述特定实现的ECMA-262规范的第X个版本)ECMA-262的2009版称为ES5  2015版称为 ES6又称为 ES2015

ECMAScript兼容

 支持ECMA-262描述的所有“类型、值、对象、函数以及程序句法及语法”

支持Unicode字符标准

DOM-文档对象模型(DOM Document Object Model

  是针对XML但经过扩展用于HTML的应用程序编程接口(API Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTML XML页面中的每个组成部分都是某种类型的节点,这些节点有包含着不同类型数据 。

1.为什么要使用DOM

   IE4Netscape Navigator 4分别支持不同类型的DHTMLDynamic HTML)基础上,开发人员无需重新加载网页,就可以修改其外观和内容了。然而,DHTMLweb技术发展带来巨大进步的同时,也带来了巨大的问题。由于Netscape和微软在开发DHTML方面各抒己见,过去那个只编写一个HTML页面就能够在任何浏览器中运行的时代结束了。

   对开发人员而言,如果想继续保持web跨平台的天性,就必须额外多做一些工作,而人们真正担心的是,如果不对NetScape和微软加以控制,Web开发领域就会出现技术上两强割据,浏览器互不兼容的局面。

此时,负责制定web标准的W3C(World Wide Web Consortium 万维网联盟)开始着手规划DOM.

2.DOM级别

 DOM1级(DOM Level 1)于1998年10成为W3C推荐标准。DOM1级由两个模块组成:DOM核心(DOM core)和DOM HTML .其中,DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。DOM HTML 模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法。

DOM并不是针对Javascript的,很多别的语言也都实现了DOM。不过,在web浏览器中,基于ECMAScript实现的DOM的确已经成为了JavaScript这门语言的一个重要组成部分。

DOM2级在原来DOM的基础上又扩充了鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,而且通过对象接口增加了对CSS(Cascading style sheets )的支持。

DOM2级引入了下列新模块,也给出了众多新类型和新接口的定义:

 DOM视图(DOM views)定义跟踪不同文档视图的接口

 DOM事件(DOM Event)定义了事件和事件处理的接口

 DOM样式(DOM Style)定义了基于CSS为元素应用样式的接口

DOM遍历和范围(DOM Traversal and range)定义了遍历和操作文档数的接口。

DOM3级则进一步扩展了DOM,引入了以统一方式加载和保存文档的方法—在DOM加载和保存(DOMLoad and Save)模块中定义,新增了验证文档的方法——在DOM验证(DOM Validate)模块中定义。

3.其他DOM标准

  除了DOM核心和DOM HTML 接口之外,另外几种语言还发布了只针对自己的DOM标准。下面列出的语言都是基于XML的,

每种语言的DOM标准都添加了与特定语言相关的新方法和新接口

SVG(Scalable Vector Graphic 可伸缩矢量图)

MathML(Mathematical Markup Language 数学标记语言)

SMIL(Synchronized Multimedia Integration Language)

同步多媒体集成语言。

六、JavaScript的构成

BOMBrowser Object Model-浏览器对象模型

  可以对浏览器窗口进行访问和操作,由于没有相关的BOM标准,每种浏览器都有自己的BOM实现。这个问题在HTML5中得到了解决,HTML5致力于把很多BOM功能写入正式规范。

BOM只处理浏览器窗口和框架,习惯上把所有针对浏览器的Javascript扩展算作BOM的一部分。  

主要实现:

      1、弹出新窗口(window.open()

      2、移动、缩放和关闭浏览器窗口

      3、提供浏览器详细信息(navigator)

      4、对Cookie的支持

JavaScript中可以使用的开发工具主要有两大类,一类是基本的文本编辑工具,一类是专业可视化开发工具。

1.文本编辑工具:UltraEditEditPlusNotepad++、记事本

2.可视化的集成开发工具:DreamweaverNetBeans…

调试JavaScript脚本

  FirefoxFirebug一款功能强大的JavaScript脚本调试器,它不仅可以调试JavaScript脚本,还具备了DOM查看、CSS可视化查看、HTTP监控等多种功能。

script元素

  HTML4.01 为<script>定义了下列6个属性:

 async:可选 表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本,只对外部脚本文件有效。

charset:可选,表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。

defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。html5

language:已废弃 原来用于表示编写代码使用的脚本语言(如:Javascript,JavaScript2.1 或VBScript)大多数浏览器会忽略这个属性,因此也没有必要使用了。

src:可选 表示包含要执行代码的外部文件。

type:可选 可以看成是language的替代属性;表示编写代码使用的脚本语言的内容类型(也被称为MIME类型)虽然text/javascrpt 和 text/ecmscript都已经不被推荐使用了,但人们一直以来使用的都还是 text/javascript.实际上,服务器在传送Javascript文件时使用的MIME类型通常是application/x-javascript.如果没有指定这个属性,则其默认值仍为text/javascript.

使用script元素的方式有两种:直接在页面中嵌入JavaScript代码和包含外部Javascript文件。

script的位置

传统的做法,所有script标签都应该放在页面的head元素中。

这种做法的目的就是把所有外部文件(包括CSS文件和JavaScript文件)的引用都放在相同的地方。可是在文档的head元素中包含所有JavaScript文件,意味着必须等到全部JavaScript代码都被下载解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到body标签时才开始呈现内容)。对于那些需要很多javascript代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口将是一片空白。为了避免这一问题,现代Web应用程序一般都把全部javascript引入引用放在body元素中页面内容的后面。

延迟脚本

HTML4.01的属性这个属性的用途是表明脚本在执行时不会影响页面的构造。脚本会被延迟到整个页面都解析完毕后再运行。延迟脚本也最好放在页面的底部。

  <script src="index.js" defer="defer"></script>

异步脚本

HTML5script元素定义了async属性。async只适用于外部脚本,并告诉浏览器立即下载文件。

 <script src="index.js" async></script>

嵌入代码与外部文件

  在HTML中嵌入javascript代码虽然没有问题,但一般认为最好的办法还是尽可能使用外部文件来包含外部javascript代码。使用外部文件有如下优点:

  可维护性:遍及不同HTML页面的javascript会造成维护问题,但把所有javascript文件都放在一个文件夹中,维护起来就轻松多了。而且开发人员也能够在不触及HTML标记的情况下,集中精力编辑javascript代码。

可缓存:浏览器能够根据具体的设置缓存链接的所有外部Javascript文件。如果有两个页面都使用同一个文件,那个这个文件只需下载一次。

面向未来:可以是适用于HTML的各个版本。(HTML4.01,XHTML、HTML5)

八、在HTML中使用JavaScript

使用<script>元素的方式

   1、直接在HTML页面中嵌入JavaScript代码

   2、包含外部JavaScript文件

外部脚本的位置

  将JavaScript脚本放在文档的<head>元素中,意味着必须等到全部JavaScript代码被下载、解析、和执行完成以后,才能开始呈现页面的内容。对于那些需要很多JavaScript代码的页面来说,这无疑会导致浏览器呈现页面时出现明显的延迟,而延迟期间的浏览器窗口将是一片空白。为了避免这个问题,Web应用程序可以把全部JavaScript脚本放在<body>元素页面内容的后面。

  

HTML5script元素定义了async属性。async只适用于外部脚本,并告诉浏览器立即下载文件。

 <script src="index.js" async></script>

 

 

 

 

内容概要:本文介绍了基于SMA-BP黏菌优化算法优化反向传播神经网络(BP)进行多变量回归预测的项目实例。项目旨在通过SMA优化BP神经网络的权重和阈值,解决BP神经网络易陷入局部最优、收敛速度慢及参数调优困难等问题。SMA算法模拟黏菌寻找食物的行为,具备优秀的全局搜索能力,能有效提高模型的预测准确性和训练效率。项目涵盖了数据预处理、模型设计、算法实现、性能验证等环节,适用于多变量非线性数据的建模和预测。; 适合人群:具备一定机器学习基础,特别是对神经网络和优化算法有一定了解的研发人员、数据科学家和研究人员。; 使用场景及目标:① 提升多变量回归模型的预测准确性,特别是在工业过程控制、金融风险管理等领域;② 加速神经网络训练过程,减少迭代次数和训练时间;③ 提高模型的稳定性和泛化能力,确保模型在不同数据集上均能保持良好表现;④ 推动智能优化算法与深度学习的融合创新,促进多领域复杂数据分析能力的提升。; 其他说明:项目采用Python实现,包含详细的代码示例和注释,便于理解和二次开发。模型架构由数据预处理模块、基于SMA优化的BP神经网络训练模块以及模型预测与评估模块组成,各模块接口清晰,便于扩展和维护。此外,项目还提供了多种评价指标和可视化分析方法,确保实验结果科学可信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值