什么是js?js的基本使用
JavaScript(简称“
js”) 是一种具有函数优先的轻量级,解释型或即时编译型的编译语言虽然它是作为开发WEB页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
1.主要功能
-
嵌入动态文本于HTML页面。
-
对浏览器事件做出响应。
-
读写HTML元素。
-
在数据被提交到服务器之前验证数据。
-
检测访客的浏览器信息。控制cookies,包括创建和修改等。
-
基于Node.js技术进行服务器端编程
2.javascript的特点
-
脚本语言: 浏览器是可以直接读取js的
-
基于对象:类似对象(es1 es2 3 5 6(class) 7 8 9 10 11)
-
动态性: JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。
-
跨平台性: 只要可以装浏览器的系统,就可以使用js
-
弱类型: 不是功能弱 是声明变量的方式单一
| 年份 | 名称 | 描述 |
|---|---|---|
| 1997 | ECMAScript 1 | 第一个版本 |
| 1998 | ECMAScript 2 | 版本变更 |
| 1999 | ECMAScript 3 | 添加正则表达式 添加 try/catch |
| ECMAScript 4 | 没有发布 | |
| 2009 | ECMAScript 5 | 添加 "strict mode",严格模式 添加 JSON 支持 |
| 2011 | ECMAScript 5.1 | 版本变更 |
| 2015 | ECMAScript 6 | 添加类和模块 |
| 2016 | ECMAScript 7 | 增加指数运算符 (**) 增加 Array.prototype.includes |
3.js语言组成
-
ECMScript -- 语法标准 (es1 es2 es3 5 6 7 8 9 10 11)
-
DOM ---- document(文档) object(对象) model(模型)
-
BOM -- Browser (浏览器) object(对象) model(模型)
4.js的基本使用
-
行内js(行内式)
在开始标签内,使用空格隔开,加入事件名称或者方法名称,在等号后面,就是事件执行或者方法执行的动作代码
<!--
js行内使用:
onclick:鼠标的左键的点击事件
alert:是js自带的弹窗,只能用来测试代码是否可以执行,并不能用于实际开发
-->
<div onclick="alert('弹窗--行内使用js')"></div>
- 内部(内嵌式)
在页面中使用script双标签,把js代码写在这个双标签之间,script双标签可以在页面中的任何位置
建议:最好是放在head和body标签之间
<script>alert('弹窗 -- 内部使用js')
</script>
</head>// 最好的位置
<script>alert('弹窗 -- 内部使用js')
</script>
</body>
- 外部(外联式)
在外部建立一个js文件,使用script标签中 src属性,去链接到外部的js
<script src="./index.js"></script>
4、打印语句
-
alert
1、是js自带的弹窗,只能用来测试代码是否可以执行,并不能用于实际开发,是同步线程,有阻塞作用,只有点击了确定按钮,返回true,下一条程序才可以执行
2、括号内如果是数字,或者变量,不需要加引号
var a = 10
alert('弹窗')
alert(12345678)
alert(a)
-
console.log()
1、是打印结果的,在控制台中的console.log中查看
2、括号内如果是数字,或者变量,不需要加引号
console.log('打印结果');
-
prompt()
带一个输入框,并且有一个确定和取消按钮,如果点击的是确定,返回值是true,就可以接收值,如果点击的是取消,返回值是false , 就不会接收这个值(null)
prompt('请输入用户名')
5、单引号和双引号的问题
因为在标签中,使用类名的时候,使用的是双引号,所以在js中建议使用单引号
其实,在js中使用单引号和双引号是一样的
console.log('a');
console.log("a");
在就是引号要成对出现,可以嵌套使用,但是不能交叉使用
外单内双 外双内单
console.log("春分吹 '战鼓擂' 春眠不觉晓");
但是如果需要在双引号包裹的字符串中使用双引号,或者在单引号包裹的字符串中使用单引号,需要使用\进行转义,否则会报错,因为 JavaScript 无法知道字符串的结束位置。
var str1 = '使\'用\'单\'引\'号';
var str2 = "使\"用\"双\"引\"号";console.log(str1); // 输出:"使'用'单'引'号"
console.log(str2); // 输出:"使"用"双"引"号"
// 以下代码会报错
var str3 = "哼"!";
var str4 = ''哼!';
相关文章:
什么是js?js的基本使用
JavaScript(简称“ js”) 是一种具有函数优先的轻量级,解释型或即时编译型的编译语言虽然它是作为开发WEB页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言&a…...
自然数的拆分问题 字典序
目录 自然数的拆分问题 字典序 程序设计 程序分析 自然数的拆分问题 字典序 对于大于1的自然数N,可以拆分成若干个大于等于1的自然数之和。 Input 一个大于1的自然数N Output 所有的拆分情况.按字典序排列。 Sample Input...
软件测试——概念篇
目录 一、软件的生命周期 二、瀑布模型(Waterfall Model) 优点: 缺点: 三、螺旋模型(Spiral Model) 编辑优点: 缺点: 四、增量、迭代 区别: 五、敏捷 scrum…...
Qsort函数的应用与讲解
解释: qsort排序函数,即讲一段数组,字符串等进行有序的排列 分析: void qsort (void* base,//要排序的数组的首元素(就是数组名)size_t num, //要排序的数组元素的个数size_t size,//每个元素的字节大小&…...
蓝桥杯嵌入式第九届客观题解析
文章目录 前言一、题目1二、题目2三、题目3四、题目4五、题目5六、题目6七、题目7八、题目8九、题目910、题目10总结前言 本篇文章为大家带来第九届客观题的讲解。 一、题目1 STM32F103RBT6 微控制器是一款基于 ARM Cortex-M3 内核的单片机,它具有多个外设和总线,包括 APB1…...
多元函数的基本概念——“高等数学”
各位CSDN的uu们你们好呀,今天,小雅兰的内容是多元函数的基本概念,下面,让我们一起进入多元函数的世界吧 平面点集 多元函数的概念 多元函数的极限 多元函数的连续性 有界闭区域上多元连续函数的性质 平面点集 第一个是坐标平…...
LabVIEW-数值控件和布尔控件
简介 LabVIEW 以其强大、开放、图形化的虚拟仪器软件开发环境使得无论是否有过编程经验的工程师或科学家使用它时都可以快速、高效地与测量和控制硬件通信,并进行复杂的数据分析及处理。LabVIEW集成了满足GPIB、PXI、VXI、RS232、RS485、USB、DAQ等多种形式的设备互…...
R730重组阵列raid5
如何进入阵列界面,可以参考这篇文章:R730服务器热插拔换磁盘(raid阵列) 首先来到阵列界面:来到红框Disk Group处,然后按F2 然后移到箭头处,回车(删掉磁盘组) 然后发现…...
Verilog学习笔记3——数据位宽、阻塞/非阻塞赋值、二进制码、独热码、格雷码比较、编写原则、三态门、
文章目录前言一、数据位宽1、有符号定点数2、Nbit和Mbit相加或相乘二、阻塞赋值和非阻塞赋值三、timescale四、三态门的设计五、verilog模块编程原则六、二进制码、独热码、格雷码比较1、独热码2、格雷码3、二进制码前言 2023.4.5 清明节 一、数据位宽 N位有符号数࿱…...
C++ Qt智能指针使用教程
C++ Qt智能指针使用教程 contents 一、 QSharedPointer用法二、 QWeakPointer三、QScopedPointer四、QPointer五、Qt智能指针需要注意的坑Qt提供了类似C++11智能指针的实现,用于自动管理动态分配的内存,避免内存泄漏和悬挂指针等问题。使用智能指针可以使代码更加安全、简洁和…...
【题解】BZOJ4975 区间翻转
题目大意 两人博弈,有一个 nnn 的排列 a1,a2,…,ana_1,a_2,\dots,a_na1,a2,…,an,每次操作为选择长度为 4x24x24x2 或 4x34x34x3 的区间,将其翻转,要求翻转后字典序大于翻转前。第一个不能操作的输。Q 先手,T 后…...
火箭参数相关知识
火箭参数相关 前言:学习笔记,很初级部分内容来之相关书籍,入门学习,欢迎指正 1 坐标系右手定则: 伸开手掌,大拇指指向X轴,四指指向Y轴,四指弯曲90后所指向的方向为Z轴。X 、Y、Z并…...
【JavaEE】死锁是什么?如何避免死锁(保姆级讲解)
博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶本篇文章将介绍什么是死锁,死锁的四大必要条件,如何去避免死锁~~~ 目录 一、死锁是什么? 二、关于死锁的情况 2.1 一个线程的情况 2.2 两个线程的情况…...
JS 实现占位符截取字符串内容
//charnum占位长度, //str 字符串内容 //返回charnum占位长度 下的字符串长度; function getcharlength(charnum,str){ var len 0; for (var i 0; i < str.length; i) { var c str.charCodeAt(i); //单字节加1 …...
Prophet学习(四)趋势Changepoints
目录 趋势Changepoints(Trend Changepoints) Prophet中的自动更改点检测(Automatic changepoint detection in Prophet) 调整趋势灵活性(Adjusting trend flexibility) 指定变更点的位置(Spe…...
超表面学习 初步印象
超表面学习中 第一章 初步认识 一.传统超表面 1.吸波 2.反射相位 3.透射相位 4.电磁带隙 引申出来的超表面基础应用: 1.透波透镜(对应透射相位) 分为近场和远场 近场:贝塞尔波束等等 远场:方向图控制(对应…...
脂肪肝 肾结石 怎么得来的
脂肪肝怎么得来的1.脂肪肝2.肾结石是如何产生的?1.脂肪肝 是由于肝细胞内脂肪堆积过多引起的慢性疾病,引起脂肪肝的因素有多种,由于常常没有自觉症状,往往不易引起人们的重视。常见原因有以下几种: 第一、过量饮酒&a…...
Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助
原文:http://inventwithpython.com/beyond/chapter1.html 请您不要将计算机当成佣人,因为这样会让您常常感觉很烦躁。比如说当计算机向您显示错误消息时,并不是因为您冒犯了它。计算机是我们大多数人都会接触到的最复杂的工具,但归…...
windows服务器自带IIS搭建网站并发布公网访问【内网穿透】
文章目录1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置4.公网访问测试5.结语转载自远程源码文章:【IIS搭建网站】本地电脑做服务器搭建web站点并公网访问「内网穿透…...
IFPUG功能点度量4:度量事务功能
一、基本概念 1、事务功能 事务功能是处理数据功能的基本过程。 每个事务功能都是一个基本过程。 事务功能由多个逻辑处理来完成。 事务功能包含三种类型:EI、EO、EQ 2、基本过程 一个基本过程是由一个逻辑处理或者多个逻辑处理来完成的。 如何识别…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
