JavaScript基础语法–详谈

JavaScript的编写方式

这里小编写一个简单代码,展示JavaScript三种编写方式

HTML代码行内(可以理解为内联样式)

a.第一种方式
在这里插入图片描述
一个123的网址,通过点击实现浏览器显示welcome字样提升(与浏览器进行交互),结果:
手机运行结果(电脑正常)

onclick:点击事件通过alert函数执行()内为单引号否则与外面双引号冲突(报错)

b.第二种方式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>document</title>
<style>

</style>
</head>
<body>
   <a href="javascript:alert('welcome')">www.123.com</a>
</body>
</html>

这种方式了解即可,真正开发中已经不用这种方式写代码!
原因是:
1.这种代码阅读性太差了
2.当Javascript代码非常多的时候,用这种方式会非常繁琐,维护非常麻烦

编写在script元素之内

 <script>
        alert("hello word")
    </script>

每一次运行代码/刷新网页都会显示如下图:
在这里插入图片描述
那如果想要将方式一中a元素实现点击显示呢?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>document</title>
<style></style>
</head>
<body>
    <a class="wl" href=""="#">www.123.com</a>
    
    <script>
        var wlAEI = document.querySelector(".wl")
        wlAEI.onclick = function() {
            alert("welcome")
        }
    </script>
</body>
</html>

就可以实现点击www.123.com,显示提示信息!!!

单独新建JS文件

需要通过script元素的src属性来引入JavaScript文件
在这里插入图片描述

noscript元素

若运行的浏览器不支持JavaScript,给用户怎么进行提升?

  1. 需要一个页面降级处理方案
    2.noscript元素被用于JavaScript浏览器提供代替内容

这个代码Google浏览器支持JavaScript代码:
<a class=“wl” href=""="#">www.123.com

显示结果:
在这里插入图片描述

我们在练习noscript这类型元素时可以关闭掉Javascript支持功能!

关掉步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
显示结果不能正常运行,这种时候我们使用noscript:
在这里插入图片描述
这时候如果我们打开Google浏览器支持JavaScript功能,将不会显示这个p元素提示内容

Javascript编写注意事项

注意一: script元素不能写成单标签

在外联式引用js文件时,script标签中不可以写JavaScript代码,并且script标签不能写成单标签;

即不能写成script src=“index.js”/>;
也不允许既引用外部JS文件,同时编写新的JS代码

注意二: 省略type属性

在以前的代码中,

现在可不写这个代码了,因为JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言
javascript// An highlighted blockvar foo = 'bar';

注意三: 加载顺序

作为HTML文档内容的一部分,JavaScript默认遵循HTML文档的加载顺序,即自上而下的加载顺序;

<html lang="en">
<head>
<meta charset="UTF-8">
<title>document</title>
<style>

</style>
</head>
<body>
    <a class="wl" href=""="#">www.123.com</a>
    <script>
        alert("welcome")
    </script>
</body>
</html>

在这里插入图片描述
先解析a元素,如果有别的再进行依次解析最终解析script元素,如果我现在将script放在a元素之前呢?
在这里插入图片描述
为null,前面没有wl标记的内容,所以它的加载方式为自上而下顺序。

那么有人会说:“设置过放在前面的JS元素啊”

那是因为有一个Window.onload = function (){
}回调函数进行页面回调加载,默认没有设置这种函数/这种特性,加载顺序自上而下

JavaScript可以放在HTML外面,也可以放在body与HTML中间,推荐将JavaScript代码和编写位置放在body子元素的最后一行;因为JavaScript为HTML文档的一部分!

注意四: JavaScript代码严格区分大小写

HTML元素和CSS属性不区分大小写,但是在JavaScript中严格区分大小写;

Javascript与浏览器交互方式

alert函数交互

文章前面我们提到了alert函数的交互方式,显示一个弹窗,可以告诉浏览器弹出的内容(浏览器默认提供的交互方式)并且接受一个参数

console.log交互

为什么叫consloge.log?

前面有一个对象,对象里面有一个函数或方法(是一种特殊的函数)(后面续写函数与方法区别)

console.log(“hello wlin”)
浏览器网页界面显示为空白,这种console.log交互方式在控制台展示
在这里插入图片描述
这也是开发中最多的交互方式,非常重要!

document.write()交互

在script元素中写入document.write(“hello wlin”)
运行,(它是将内容写入在网页/文档中),我们以后在开发中可以用JS拿到服务器内容数据,输出在页面当中!(在Dom中在详谈)
在这里插入图片描述

prompt交互

前面提到的交互方式都是浏览器呈现出来的,我们没有办法接受浏览器给我们的内容,假如我们希望浏览器在页面某个位置输入一个内容,并且我们可以在程序中读取这个内容,我们首先想到的是input元素,但是必须要结合dom(后面dom再详谈)

我们使用prompt函数(浏览器提供的函数)
有一个输入框,我们怎么拿到数据呢?这个函数有返回值
var result = prompt()
alert(“输入内容为:“ + rssult)点击确定进行提示

我们可以通过函数返回值可以获取到用户输入的内容
在这里插入图片描述

真实开发中交互方式二用的最多,别的很少见!

chrome调试工具

console.log不仅能进行打印,而且还能提示JavaScript代码报错(在控制台查看)

console有一个>符号,我们可以在这里直接编写JS代码(在这里简单编写代码,多行的一般不会在这里编写,想写多行代码时,这里不能直接敲回车,代码进行执行了,按住shift键+回车可以多行编写代码)

如何通过debug方式进行调试查看代码执行流程,后续文章详谈!

JavaScript语句(statements)和分号

向浏览器发出指令,表达一个操作或者行为(action)

编写的每一行代码都是一个语句,告知浏览器一条执行命令的行为。每一条语句后面添加一个分号(语句结束)存在换行符时,可以省略分号,JavaScript将换行符理解为隐式分号(自动插入分号)

有些公司加分号/有些不加分号
市场流行不加分号(加上分号也不会错)最终代码会用webpack进行打包(丑化),空格换行符等进行删掉,自动加上分号。看公司代码整体风格规范
学习JavaScript情况推荐加上分号!

JavaScript常见注释

  1. Ctrl+/ 单行注释
  2. /**/ 多行注释
  3. 文档注释
    /** */在JS单独文件中编写会有JSdoc提示(vscode自动生成插件)
    在这里插入图片描述
    进行对参数注解,{}为参数类型注解,对文档整体做注解(第二行编写)

下面对say进行调用,vscode进行有文档注释,帮助我们后期编写代码高效,减少与团队成员沟通成本,代码标准规范 必须掌握,后期开发第三方库非常规范
vscode不支持在HTML中编写,单独支持JS单独文件

JavaScript不支持注释嵌套

vscode插件配置

补充console.log快速编写方式

  1. 直接写log+回车自动生成console.log()
  2. clg+回车自动生成

clg要安装一个插件:
在扩展搜索react,有一个ES7+React/Redux/React-Native snippets插件(有很多提示,后面大多数快捷可以使用这个插件)

编写css代码大括号{} vscode有时不是很明显
Bracket Pair Colorizer 2,但是该插件已经不再推荐使用了;因为VSCode已经内置了该功能,我们可以直接通过VSCode的配置来达到插件的效果;

配置方式:

“editor.bracketPairColorization.enabled”: true,“editor.guides.bracketPairs”:“active”
在文件 首选项,点击右上角设置图标点击,会出来Json配置信息,将这个配置方式复制即可!
代码多的时候光标在哪一个区域,大括号有明显显示

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI模型-机器学习工具部署】远程服务器配置Jupyter notebook或jupyter lab服务

随着AI人工智能的崛起&#xff0c;机器学习、深度学习、模型训练等技术也慢慢泛化&#xff0c;java开发有idea&#xff0c;web开发有vscode&#xff0c;那么AI开发神器肯定离不开jupyter lab&#xff08;基础版jupyter notebook&#xff09; Jupyter notebook部署 1. 安装jupy…

基于Python实现多功能翻译助手(上)

创建一个支持多种语言翻译并且允许通过文件拖拽来输入文本的Python窗口应用程序是一个相对复杂的任务&#xff0c;涉及到多个库和组件。以下是一个简化的指南&#xff0c;展示如何使用Python的Tkinter库创建GUI窗口&#xff0c;结合Googletrans库进行翻译&#xff0c;以及使用P…

第十四章 MySQL

一、MySQL 1.1 MySql 体系结构 MySQL 架构总共四层&#xff0c;在上图中以虚线作为划分。 1. 最上层的服务并不是 MySQL 独有的&#xff0c;大多数给予网络的客户端/服务器的工具或者服务都有类似的架构。比如&#xff1a;连接处理、授权认证、安全等。 2. 第二层的架构包括…

Python连接MySQL

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、整体思路二、连接流程三、表结构及代码实现 一、整体思路 二、连接流程 三、表结构及代码实现 代码块如下&#xff1a; import pymysqlcon pymysql.connect(h…

websocket 局域网 webrtc 一对一 视频通话的实例

基本介绍 使用websocket来 WebRTC 建立连接时的 数据的传递和交换。 WebRTC 建立连接时&#xff0c;通常需要按照以下顺序执行一些步骤&#xff1a; 1.创建本地 PeerConnection 对象&#xff1a;使用 RTCPeerConnection 构造函数创建本地的 PeerConnection 对象&#xff0c;该…

springboot共享单车系统

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于共享单车管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了共享单车管理系统&#xff0c;它彻底改变了过…

【JavaScript算法】DOM树层级显示

题目描述&#xff1a; 上述表达式的输出结果为 [DIV] [P, SPAN, P, SPAN] [SPAN, SPAN]直接上代码 let tree document.querySelector(".a"); function traverseElRoot(elRoot) {const result [];function traverse(element, level) {if (!result[level]) {resul…

跨境电商IP防关联是什么?有什么作用?

做跨境电商的朋友应该都知道IP防关联这个词,那么为何IP需要防关联呢&#xff1f;今天为大家来解答这个问题。 跨境电商IP防关联是指在跨境电商运营中&#xff0c;通过采取一系列技术手段&#xff0c;确保每个跨境电商账号使用独立的IP地址&#xff0c;以避免账号之间因为IP地址…

博鳌观察|对话百度沈抖:丰富的应用场景是中国AI赶超的最大机会

既要仰望星空&#xff0c;更要脚踏实地。在被巨大的技术风口裹挟了一年多后&#xff0c;我们与大模型的“相处方式”越来越清晰了。 3月28日&#xff0c;在博鳌亚洲论坛2024年年会现场&#xff0c;我们与百度集团执行副总裁、百度智能云事业群总裁沈抖进行了一次深度交流。 在…

智慧公厕厂家如何选择?光明源智能科技打造一流智慧公厕项目

在当今城市化进程中&#xff0c;智慧公厕已经成为提升城市品质、改善市民生活的重要一环。然而&#xff0c;要打造一流的智慧公厕项目&#xff0c;选择合适的厂家显得尤为重要。作为行业领军者&#xff0c;光明源智能科技在智慧公厕领域具有丰富的经验和卓越的技术实力。今天&a…

大数据学习-2024/3/29-oracle使用介绍

在plsql中登录ORACLE数据。 默认用户&#xff1a; 1、sys&#xff1a; 角色&#xff1a;数据库超级管理员账户。 权限&#xff1a;具有最高的权限&#xff0c;可以执行任何操作&#xff0c;包括操作数据字典和控制文件。可以创建和删除数据库对象&#xff0c;授予和回收其他用户…

计算机系统基础 5 物理地址的形成

历史 早期&#xff0c;程序员自己管理主存&#xff0c;通过分解程序并覆盖主存的方式执行程序 取指令和存储操作数所有的地址都是物理地址&#xff1b; 执行速度快&#xff0c;无需进行地址转换&#xff1b; 未采用虚拟存储机制。 1961年有人提出自动执行overlay…

Openfeign

Openfeign 相关扩展 在 2020 以前的 SpringCloud 采用 Ribbon 作为负载均衡&#xff0c;但是 2020 年之后&#xff0c;SpringCloud 吧 Ribbon 移除了&#xff0c;而是使用自己编写的 LoadBalancer 替代. 因此&#xff0c;如果在没有加入 LoadBalancer 依赖的情况下&#xff0c…

linux离线安装maven

一、下载maven 地址&#xff1a;Maven – Download Apache Maven 使用root权限用户登录服务器 cd /opt sudo mkdir maven cd maven 二、上传maven 使用Xftp工具 三、解压并配置环境变量 tar -zxvf tar -zxvf apache-maven-3.9.6-bin.tar.gz cd apache-maven-3.9.6/ 看到解压…

AI智能视频剪辑解决方案,便捷的视频制作体验

在数字化时代&#xff0c;视频内容已成为企业宣传、产品展示、品牌塑造不可或缺的重要载体。然而&#xff0c;传统视频剪辑方式往往耗时耗力&#xff0c;效率低下&#xff0c;无法满足企业快速响应市场变化的需求。美摄科技凭借领先的AI技术&#xff0c;推出了一款全新的AI智能…

游戏本笔记本更换@添加内存条实操示例@DDR5内存条

文章目录 添加内存条的意义准备工具设备拔出电源适配器并关机&#x1f47a;样机 内存条上的金手指安装过程Notes 安装后开机初次开机速度屏幕显示分辨率和闪烁问题检查安装后的效果 添加内存条的意义 参考双通道内存DDR5多通道内存-CSDN博客 准备工具 准备一个质量差不多的螺…

我国伺服系统市场规模逐渐扩大 未来有望实现完全国产替代

我国伺服系统市场规模逐渐扩大 未来有望实现完全国产替代 伺服系统又称为随动系统&#xff0c;是用于精确地跟随或复现某个过程的反馈控制系统。伺服系统主要包括驱动器、指令机构和电机等&#xff0c;可根据控制指令&#xff0c;对功率进行放大、变换与调控等处理&#xff0c;…

在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)

问题场景 目前我的环境变量都存储在 /etc/profile 文件中&#xff0c;当我通过远程 SSH 执行一些命令时&#xff0c;提示命令找不到&#xff0c;如下所示&#xff1a; 问题出现原因 这里找到了一张出自尚硅谷的图片&#xff0c;很好的解释了该问题&#xff1a; 这是由于 Linu…

Java集成E签宝实现签署

完整代码&#xff1a;java-boot-highpin-background: 背调服务 (gitee.com) 【暂不开源】 1.在application.yml中配置appid、密钥信息&#xff0c;包含沙箱环境javaesign:host: https://smlopenapi.esign.cnappId: your appIdappSecret: your secret 2.实现电子签的主要流程在…

智慧水利中数据可视化的关键作用

在当今这个数据驱动的时代&#xff0c;数据可视化已成为转化复杂数据集为易于理解的视觉格式的关键技术&#xff0c;它在智慧水利领域的应用尤为显著。智慧水利利用现代信息技术&#xff0c;整合水资源管理的各个方面&#xff0c;旨在提高水资源的使用效率和管理效能。数据可视…