JavaScript青少年简明教程:开发工具与运行环境

news2024/9/22 1:39:21

JavaScript青少年简明教程:开发工具与运行环境

JavaScript是一种基于对象和事件驱动且具有安全性能的脚本语言。使用它和HTML结合可以开发出交互式的Web页面。

脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。脚本通常是解释执行而非编译,脚本代码可以由浏览器解释执行。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。

学习JavaScript的实验环境有很多选择,以下是一些常用的实验环境:

☆浏览器控制台:浏览器(例如 Google Chrome、Mozilla Firefox、Microsoft Edge 等)本身提供了直接运行 JavaScript 代码的控制台。一般电脑系统中都会带有浏览器。打开浏览器按下 F12打开开发者工具。转到 "Console" 选项卡,可以直接输入和执行 JavaScript 代码。

打开一个浏览器,建议在地址栏中输入about:blank,按下Enter键(回车键),就可以看到一个空白页面——这样创建一个干净、无干扰的环境来进行 JavaScript 开发或测试,再按下F12键,就打开了浏览器的控制台(console),现在你就可以学习JavaScript了。以Microsoft Edge为例:

进入控制台以后,就可以在提示符后输入代码,然后按回车(Enter键),代码就会执行。如果按Shift + Enter键,就是代码换行,不会触发执行,可以输入多行语句,直至回车执行。

顺便提示:在浏览器控制台中,点击控制台右上角的 "清除控制台" 按钮,或者按下快捷键Ctrl+L,或者使用 console.clear() 方法的作用,是快速清空控制台,以便查看最新的日志信息或进行新的测试。清除控制台不会影响代码的执行或应用程序的状态,它只是清除了显示的输出。

浏览器的开发者工具使用介绍https://blog.csdn.net/cnds123/article/details/120822401

如何编辑运行HTML网页文件(HTML编辑工具使用介绍)https://blog.csdn.net/cnds123/article/details/113831256

浏览器控制台调试代码和JavaScript控制台方法介绍https://blog.csdn.net/cnds123/article/details/132332849

为什么浏览器控制台(Console)运行JavaScript代码有时会出现“undefined”?https://blog.csdn.net/cnds123/article/details/128014970

☆使用Node.js:Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,可以在服务器端运行JavaScript代码。你可以在Node.js的官方网站上下载并安装Node.js,然后使用命令行界面运行JavaScript文件。安装了 Node.js可以搭建一个本地开发环境。

作为初学者一般不要这种方式。对Node.js 感兴趣的读者可见“Node.js 新手入门” https://blog.csdn.net/cnds123/article/details/104559497

☆创建HTML文件试验与测试JavaScript代码

可以安装了代码编辑器(如Visual Studio Code、Sublime Text等)或集成开发环境IDE(如WebStorm、HBuilderX等),也可以在这些工具上编写JavaScript代码并结合Node.js或浏览器来运行。

特别说明HBuilderX 是一款功能强大、使用便捷的开发工具,特别适合前端开发和移动应用开发,支持多语言和框架:

多种编程语言:支持 HTML、CSS、JavaScript、TypeScript、Python、PHP 等多种编程语言。

主流框架:支持 Vue.js、React、Angular 等主流前端框架,以及 uni-app 等移动应用开发框架。

因此,可以使用HBuilderX 编写并测试 JavaScript 代码 ,为感兴趣的读者提供官方网址HBuilderX-高效极客技巧

对这些就不做过多介绍了。

也可以使用Windows的记事本(Notepad)编写JavaScript代码。通过在文本编辑器创建一个HTML文件,将JavaScript代码放在<script>标签中。下面介绍这种方式。

打开Windows的记事本,编写代码如下内容:

<!DOCTYPE html>
<html lang="en">
   <head>
       <meta charset="UTF-8"> 
       <meta name="viewport" content="width=device-width, initial-scale=1.0">     
       <title>JavaScript 测试</title>
   </head>
   <body>
       <p>JavaScript 示例:在网页的script标签内直接嵌入JavaScript代码</p>

       <!-- 这里是你的JavaScript代码 -->
       <script>
           alert ('Hello, JavaScript!');  // JavaScript代码
       </script>
   </body>
</html>

说明,其中:

<html lang="en"> 中的 lang 属性用于指定文档的主要语言,这个属性可以帮助屏幕阅读器、翻译工具和搜索引擎更好地理解和处理页面内容。

lang="en" 指定文档的语言是英语

lang="zh" 指定文档的语言是中文

lang="fr" 指定文档的语言是法语,等等

提示: lang 属性不是强制性的,但推荐使用它来提高网页的可访问性和SEO(Search Engine Optimization:搜索引擎优化)。

<meta name="viewport" content="width=device-width, initial-scale=1.0"> 是一个HTML的<meta>标签,特别用于控制移动设备的页面呈现,没有这一句,许多移动设备可能会将页面渲染得太小或太大,导致用户体验不佳。在面向桌面设备的特定场景下,这个标签不是必须的。

alert()功能是令/指示浏览器显示一个带有可选的信息的对话框,并等待用户离开该对话框。JavaScript对大小写是敏感的,所以alert()必须全部小写。

用Windows的记事本编辑保存html文件,保存这个文件到合适的位置,确保文件扩展名是“.html”。可参见下图:

双击HTML文件名,它将会使用默认的网页浏览器打开。或

右击网页文件(.html文件)名,使用快捷菜单打开,具体操作参见下图:

HTML文件的结构简介

 一个超文本文件以<html>标签开始,用</html>结束,其标记的内容分为“头部”和“主体”两部分。“头部”以<head>标签开始,用</head>标签结束,在这两个标签之间是用于描述网页属性的各种标签,例如:title、style、link等。“主体”以<body>标签开始,用</body>标签结束,在这两个标签之间是网页的主体内容。关于HTML的元素、标签和属性含义可见 https://blog.csdn.net/cnds123/article/details/125745562

HTML注释

<!—注释内容-->是HTML注释,“<!--”是注释的起始符号,“-->”是注释的结束符号,在这两个符号之间的内容是注释。浏览器在加载HTML文件时会忽略其中的注释。

【顺便指出,CSS注释以 /* 开始,以 */ 结束。这两个标记之间的任何内容都会被浏览器忽略,不会被解释为CSS代码。】

在HTML中,每个标签(HTML元素)都可以被视为一个对象。例如,<body>、<div>、<img>等都是HTML对象。这些对象通常具有属性(例如,<img>标签的src、height、width等属性),事件(例如,鼠标点击事件click),以及方法(例如,JavaScript中的document.createElement()方法可以创建一个新的HTML元素)。这种理解基于HTML DOM(文档对象模型)的概念。DOM将HTML文档视为一个由多个互相连接的对象组成的树状结构,每个对象代表文档中的一个部分。这种模型允许我们使用脚本语言(如JavaScript)来操作HTML文档,改变文档的结构、样式或内容。

特别提示:有关浏览器脚本代码和网页的关系,还有很多可学的。我们这里不要过多分散自己的注意力,主要是针对 JavaScript 语言本身的。

<script> 标签是 HTML 中用于嵌入或引用 JavaScript 代码的标签(tab),在网页中嵌入JavaScript代码有两种方式:一种是使用script标签在网页中直接嵌入JavaScript代码;另一种是把JavaScript程序代码写在一个单独的文件中,然后通过script标签将JavaScript文件引入到网页文件中,要确保在<script>标签的src属性中指定的路径是正确的,如果路径错误,浏览器将无法加载JavaScript文件,导致网页的功能不正常,如果路径错误,浏览器将无法加载JavaScript文件,导致网页的功能不正常。

在网页中直接嵌入JavaScript程序代码的格式如下:

  <script >

       JavaScript程序代码

  </script>

JavaScript程序代码位于<script>和</script>两个标签之间。

可以参见前面的示例。

还可以将JavaScript代码放在单独的.js文件中,然后通过<script>标签引入,可以使HTML文档结构更清晰,代码更易于管理。

在网页中引入JavaScript文件的格式如下:

在 HTML 中,可以通过 <script> 标签的 src 属性(attribute)来指向外部的 JavaScript 文件。HTML指向外部 JavaScript 文件的语法:

<script src="路径/文件.js"></script>

修改前面的例子,将JavaScript代码放到另一个文件中,在HTML文件中通过<script> 标签的 src 属性引入,因此需要建立两个文件。

HTML文件内容改为:

<!DOCTYPE html>
<html lang="zh">
   <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <title>JavaScript 测试2</title>
   </head>
   <body>
       <p>JavaScript 示例:通过script标签将JavaScript文件引入到网页文件中</p>

       <!-- 这里是你的JavaScript代码 -->
       <script src="script.js"></script>
   </body>
</html>

JavaScript代码文件,其内容如下:

alert ('Hello, JavaScript!');  // JavaScript代码

我这里保存文件名为script.js,将此文件和HTML文件保存同一个文件夹(目录)中——这可以避免出现路径问题,关于路径后面将介绍。

一般来说,只有最简单的脚本代码才嵌入到 HTML 中,更复杂的脚本代码存放在单独的文件中。不要纠结上面这个示例的脚本代码很简单,为何分离出来,目的让初学者减少分神快速直观认识,感性了解,减少不必要的挫折感,增强深入学习的动力和信心。

将JavaScript代码写在单独的.js文件中,然后通过<script>标签引入到HTML中,是一种常见且推荐的做法,因为它有助于保持代码的组织性和可维护性。不过,使用这种方法时,有几个重要的注意事项:

1. 文件路径正确

确保在<script>标签的src属性中指定的路径是正确的。如果路径错误,浏览器将无法加载JavaScript文件,导致网页的功能不正常。

例如:

<script src="js/script.js"></script>  <!-- 假设script.js位于当前目录下的js文件夹中 -->

路径可以是相对路径或绝对路径。

相对路径是相对于当前网页文件的路径,可以使用相对于当前文件的目录的路径表示。例如,如果 JavaScript 文件与网页文件位于同一目录下,可以使用相对路径来引用它:

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

如果 JavaScript 文件位于当前文件的上一级目录中,可以使用相对路径来引用它:

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

绝对路径是指完整的路径,从根目录开始,可以直接指向 JavaScript 文件的位置。例如,如果 JavaScript 文件位于网站的根目录下的 js 文件夹中,可以使用绝对路径来引用它:

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

绝对路径通常以斜杠 / 开头,表示从网站的根目录开始的路径。相对路径根据当前文件的位置而定,不以斜杠开头。

选择相对路径还是绝对路径取决于你的需求和项目结构。相对路径更具灵活性,适用于项目内部文件之间的引用。绝对路径在引用外部文件或跨子域名加载文件时更为方便。请根据你的具体情况选择适当的路径类型。

2. 加载顺序

要附加多个.js脚本文件,请使用多个标签。

JavaScript文件的加载和执行顺序对网页的功能有重要影响。如果一个脚本依赖于另一个脚本中定义的变量或函数,则必须正确地安排它们的加载顺序。

例如:

<script src="js/ script1.js "></script>  <!-- 首先script1.js  -->

<script src="js/script2.js"></script>  <!-- 然后加载依赖于script1.js的脚本script2.js -->

3. 文档加载状态

通常,JavaScript代码需要在整个文档加载完毕后执行,尤其是当脚本需要访问或修改DOM元素时。使用defer属性可以保证脚本在文档解析完成后、DOMContentLoaded事件触发前执行。

例如:

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

4. 异步加载

如果脚本不依赖于其他脚本,也不依赖于DOM的完全加载,可以使用async属性使脚本异步加载。这样可以加快页面加载速度,因为它不会阻塞DOM的解析。

例如:

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

可以使用<script>标签中async异步加载外部脚本、defer延迟执行外部脚本,这两个属性控制外部脚本文件的加载和执行时机,但只对外部脚本文件有效。

5. 缓存问题

为了避免浏览器缓存旧的脚本文件,可能需要在文件名后添加版本号或时间戳。

例如:

<script src="js/script.js?v=1.2"></script>

6. 安全性考虑

从外部源引入脚本时,特别是从CDN加载公共库,应确保源是可信的。此外,为防止内容篡改,可以使用子资源完整性(SRI)。

例如:

<script src="https://example.com/library.js" integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9DGPtSwiD1W9Q8Q9SQWj+drz5X…" crossorigin="anonymous"></script>

7. 跨域问题

当从外部域名加载脚本时,需要确保服务端支持跨域请求,特别是当你的脚本需要进行跨域API调用时。如果 JavaScript 文件从不同的域名或子域名加载,可能会遇到 CORS(跨域资源共享)问题。从第三方域名加载的 JavaScript 文件需要服务器设置适当的 CORS 头。

8. 性能优化

尽可能将脚本放在页面底部或使用defer属性,以免阻塞页面的渲染。此外,压缩JavaScript文件可以减少传输时间。

特别提示,初学者重点了解1,其他各项大体知道即可,随着学习认识的提高回头看可能豁然开朗或更深入的理解认识。

下面给出一个模板示例,这是一个简单的 HTML 页面文件,其中包含一个按钮和一个 JavaScript 函数 sayHello。当按钮被点击时,给出一条信息"Hello from JavaScript!"。

源码如下:

<!DOCTYPE html>  
<html lang="zh">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>JavaScript Test</title>  
</head>  
<body>  
    <h1>Hello, JavaScript!</h1>  
  
    <button onclick="sayHello()">Click Me</button>  
  
    <script>  
        function sayHello() {  
            console.log ('Hello from JavaScript!');  
        }  
    </script>  
</body>  
</html>

以后可以此例为模板,修改使用,用来试验JavaScript语法。如果你不想用浏览器的控制台试验JavaScript语法,可以采用之。

其中,console.log() 静态方法用于将消息输出到控制台。消息可以是一个字符串(可以包含可选的替换值),也可以是一个或多个 JavaScript 对象。简单来说,console.log() 可以在控制台上打印出消息或变量的值,方便调试和查看程序的执行结果,下一节还将介绍它。

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

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

相关文章

text prompt如何超过77个词

【深度学习】sdwebui的token_counter,update_token_counter,如何超出77个token的限制?对提示词加权的底层实现_prompt中token权重-CSDN博客文章浏览阅读1.6k次,点赞26次,收藏36次。文章探讨了如何在StableDiffusionProcessing中处理超过77个token的提示,涉及token_counte…

Is Temperature the Creativity Parameter of Large Language Models?阅读笔记

最近有小伙伴来问LLM的参数该如何设计&#xff0c;废话不多说来看看paper吧。首先&#xff0c;常见的可以进行调参的几个值有temperature&#xff0c;top-p和top-k。今天这篇文章是关于temperature的。 原文链接&#xff1a;https://arxiv.org/abs/2405.00492 temperature如果…

基于双向长短期记忆 BiLSTM 实现股票单变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

SpringBoot新手快速入门系列教程十一:基于Docker Compose部署一个最简单分布式服务项目

我的教程都是亲自测试可行才发布的&#xff0c;如果有任何问题欢迎留言或者来群里我每天都会解答。 如果您还对于Docker或者Docker Compose不甚了解&#xff0c;可以劳烦移步到我之前的教程&#xff1a; SpringBoot新手快速入门系列教程九&#xff1a;基于docker容器&#xff…

python | setup.py里有什么?

setup.py里有什么&#xff1f; 文章目录 setup.py里有什么&#xff1f;C/C扩展总结gcc/g的编译参数&#xff1a;Windows Visual StudioCmakesetup.py C/C扩展模块 为什么需要分发打包&#xff1f;Distutils一个简单的例子通用的 Python 术语 使用 Setuptools 构建和分发软件包源…

高铁站客运枢纽IPTV电视系统-盐城高铁站西广场IP电视系统应用浅析

高铁站客运枢纽IPTV电视系统-盐城高铁站西广场IP电视系统应用浅析 由北京海特伟业科技有限公司任洪卓于2024年7月9日发布 随着科技的飞速发展&#xff0c;特别是“互联网”战略的深入推进&#xff0c;高铁站客运枢纽的信息化建设成为提升服务质量、增强乘客体验的重要手段。盐…

开发业务(2)——wordpress使用基础教程

外贸领域里面wordpress是比较通用的框架。由于多年的发展&#xff0c;性能和插件非常强大&#xff0c;包括支持各种企业站&#xff08;很多人已经设计了各种风格&#xff0c;只需要你将对应主题风格安装即可&#xff0c;当然也有付费的&#xff09;。这导致其内部生态非常强大&…

【C++题解】1231 - 考试成绩的分布情况

问题&#xff1a;1231 - 考试成绩的分布情况 类型&#xff1a;数组基础 题目描述&#xff1a; 期末考试结束&#xff0c;小明的语文老师想知道&#xff0c;这次考试的成绩分布情况&#xff0c;主要计算如下几个数据&#xff1a;平均分、≥ 平均分的总人数、 < 平均分的总人…

linux进程周边知识——内核对硬件的管理——计算机世界的管理

前言&#xff1a;本节主要讲解内核也就是操作系统对于硬件的管理&#xff0c; 本节内容同样为进程的周边知识。 主要是关于软件方面&#xff0c; 和我的上一篇——冯诺依曼体系结构可以说是兄弟文章&#xff0c; 这篇文章主要是关于硬件方面。 两篇文章都是为学习进程做准备。但…

论文翻译 | LEAST-TO-MOST: 从最少到最多的提示使大型语言模型中的复杂推理成为可能

摘要 思维链提示&#xff08;Chain-of-thought prompting&#xff09;在多种自然语言推理任务上展现了卓越的性能。然而&#xff0c;在需要解决的问题比提示中展示的示例更难的任务上&#xff0c;它的表现往往不佳。为了克服从简单到困难的泛化挑战&#xff0c;我们提出了一种新…

Spring系统学习 - Spring事务的概念

提到事务&#xff0c;这个我们应该比较熟悉了&#xff0c;在数据库学习的过程中&#xff0c;我们或多或少接触过了事务&#xff0c;当然你可能没有用到&#xff0c;也可能用到了&#xff0c;这篇博客我们将围绕Spring的相关事务的概念进行&#xff0c;了解Spring中的事务和事务…

【开源 Mac 工具推荐之 1】gibMacOS:方便快捷的 macOS 完整包下载 Shell 工具

简介 gibMacOS 是由 GitHub 开发者 corpnewt 编写的一款 Shell 工具。它采用 Python 编程语言&#xff0c;可以让用户打开后在纯文本页面中轻松选择并下载来源于 Apple 官方的 macOS 完整安装包。 Repo 地址&#xff1a;https://github.com/corpnewt/gibMacOS &#xff08;其…

《机器学习中的数学》:探索算法背后的数学奥秘

在当今这个数据驱动的时代&#xff0c;机器学习已经成为科技发展的关键力量。然而&#xff0c;很多人可能不知道&#xff0c;机器学习的高效运作离不开背后的数学基础。今天&#xff0c;我要向大家推荐一本关于机器学习数学基础的书籍——《机器学习中的数学》。这本书不仅详细…

【Python】下载与安装

目录 一、 下载安装Python 1. 配置环境变量 2. 检查是否配置成功 一、 下载安装Python 在我上传的资源可以免费下载&#xff01;&#xff01;&#xff01; https://download.csdn.net/download/m0_67830223/89536665?spm1001.2014.3001.5501https://download.csdn.net/dow…

cpp随笔——如何实现一个简单的进程守护模块

前言 在前面我们已经实现过调度模块和进程的心跳模块了&#xff0c;而今天我们要讲的是作为服务端后台服务程序运行三个通用模块的最后一项:进程的守护模块&#xff0c;在开始讲解进程的守护模块之前我们首先来看究竟什么是进程的守护模块&#xff1a; 守护模块&#xff08;有…

torch之从.datasets.CIFAR10解压出训练与测试图片 (附带网盘链接)

前言 从官网上下载的是长这个样子的 想看图片&#xff0c;咋办咧&#xff0c;看下面代码 import torch import torchvision import numpy as np import os import cv2 batch_size 50transform_predict torchvision.transforms.Compose([torchvision.transforms.ToTensor(),…

Microsoft Graph 是什么?怎么用?

Microsoft Graph 是一个统一的 API 端点&#xff0c;用于访问 Microsoft 云服务中的数据和功能&#xff0c;包括但不限于 Microsoft 365、Dynamics 365、Windows 10、Azure Active Directory (Azure AD) 和其他 Microsoft 服务。通过 Microsoft Graph&#xff0c;开发者和企业可…

钡铼高性能Modbus转EtherCAT网关BL123

随着工业4.0和物联网(IoT)概念的兴起&#xff0c;传统工厂正经历着一场深刻的变革&#xff0c;新型的网络架构&#xff0c;如EtherCAT&#xff0c;因其高速度、高精度及开放性&#xff0c;正在逐渐取代传统的现场总线技术。然而&#xff0c;这并不意味着现有基于旧协议&#xf…

引用与指针的关系

C中指针和引⽤就像两个性格迥异的亲兄弟&#xff0c;指针是哥哥&#xff0c;引⽤是弟弟&#xff0c;在实践中他们相辅相成&#xff0c;功能有重叠性&#xff0c;但是各有⾃⼰的特点&#xff0c;互相不可替代。 • 语法概念上引⽤是⼀个变量的取别名不开空间&#xff0c;指针是…

【高中数学/指数、对数】已知a=e^0.03-1,b=3/103,c=ln1.03,则a、b、c的大小关系为?

【问题】 已知ae^0.03-1,b3/103,cln1.03,则a、b、c的大小关系为&#xff1f; 【解答】 这个问题比较令人挠头&#xff0c;其背后考察的其实是对ye^x-1,yx/1x,yln(1x)的图线的高度、位置、斜率的掌握程度。 首先我们可以将三个数变成函数式&#xff1a; ae^0.03-1,b0.03/10…