【JAVA WEB】JavaScipt-1

目录

JavaScipt是什么?

JavaScipt能做什么?

JavaScipt与HTML、CSS之间的关系

JavaScipt运行过程

JavaScipt的组成

JavaScipt的书写方式

1.行内式

2.内嵌式

3.外部式 

语法概览

变量的使用

基本用法

动态类型

什么是强类型变量什么是弱类型变量?

什么是动态类型变量什么是静态类型变量?

基本数据类型

js中内置的几种类型

数字进制表示

特殊的数字值

string

用法

求长度

字符串拼接

undefined 未定义数据类型

运算符


JavaScipt是什么?

  • 是世界上最流行的编程语言之一。
  • 是一个脚本语言,通过解释器运行。
  • 主要在客户端(浏览器)上运行,现在也可以基于node.js 在服务器上运行。

JavaScript最初只是为了完成简单的表单验证(验证数据合法性),结果后面不小心就火了,

当前JavaScript已经称为了一个通用的编程语言。

JavaScipt能做什么?

  • 网页开发(更复杂的特效和用户交互)
  • 网页游戏开发
  • 服务器开发(node.js)
  • 桌面程序开发(Electron,VSCode)就是这么来的
  • 手机app开发

JavaScipt与HTML、CSS之间的关系

  •  HTML:网页的结果(骨)
  • CSS:网页的表现(皮)
  • JavaScript:网页的行为(魂)

JavaScipt运行过程

  • 编写的代码是保存在文件中的,也就是存储在硬盘(外存上).
  • 双击 .html 文件浏览器(应用程序)就会读取文件,把文件内容加载到内存中,数据流向:硬盘==>内存)
  • 浏览器会解析用户编写的代码,把代码翻译成二进制的,能让计算机识别的指令(解释器的工作)
  • 得到的二进制指令会被CPU加载并执行(数据流向:内存 => CPU)

浏览器分为渲染引擎 + JS引擎

  • 渲染引擎:解析 html+css,俗称“内核”
  • JS引擎:也就是JS解释器,典型的就是 Chrome 中内置的 V8

JS引擎逐行读取JS代码内容,然后解析成二进制指令,再执行

JavaScipt的组成

  • ECMAScript(简称ES):JavaScript语法
  • DOM:页面文档对象模型,对页面中的元素进行操作
  • BOM:浏览器对象模型,对浏览器窗口进行操作

JavaScipt的书写方式

1.行内式

直接嵌入到html元素内部

<input type="button" value="点我一下" οnclick="alert('haha')">

/*

       注意,JS中字符串常量可以使用单引号表示,也可以使用双引号表示。

        HTML中推荐使用双引号,JS中推荐使用单引号

*/

2.内嵌式

写到script标签

<script>

        alert('haha');

</script>

3.外部式 

写到单独的 .js文件中

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

hello.js中  : alert('haha');

/*

        这种情况下script标签中间不能写代码,写了也不会执行,

        适合代码多的情况

*/

语法概览

变量的使用

基本用法

创建变量(变量定义/变量声明/变量初始化)

var  name = ' zhangsan';

var  age=20;   //或者  let age=20

//  let 比 var出现的晚,意味着避免了var这块定义变量的时候的一些缺陷,如果使用let定义变量,此时变量声明周期,作用域,基本和JAVA类似的

/*

        var是JS中的关键字,表示这是一个变量,初始化的值如果是字符串,就要使用单引号或者双引号引起来。

        JS中定义变量不需要指定类型

*/

动态类型

什么是强类型变量什么是弱类型变量?

        强类型变量意味着不同的类型之间变量进行赋值的时候,需要进行强制类型转换

        弱类型变量在不同类型之间变量进行赋值的时候,可以直接赋值(js的变量为弱类型)

什么是动态类型变量什么是静态类型变量?

        动态类型意味着代码在执行过程中,变量类型可以随时发生变化

        静态类型意味着变量定义的时候是什么类型。在运行过程中就是什么类型

基本数据类型

js中内置的几种类型

  • number:数字、不区分整数和小数
  • boolean:true、false
  • string:字符串类型,单引号,双引号都可以
  • undefined:只有唯一的值。表示未定义的值
  • null:只有唯一的值,表示空值

数字进制表示

var a=07;//八进制整数,以0开头

var b=0xa;//十六进制整数,以0x开头

var c=0b10;//二进制整数,以0b开头

特殊的数字值

  • Infinity:无穷大,大于任何数字,表示数字已经超过了JS能表示的范围
  • -Infinity:负无穷大,小于任何数字,表示数字已经超过JS能表示的范围
  • NaN:表示当前的结果不是一个数字

string

用法

var a='asd';

var b="asd";

//如果字符串本来已经包含引号

var msg = "My name is '张三' ";

var msg='My name is "张三" ';

求长度

使用string的length属性即可

var a= ' hehe ';

console.log(a.length);

字符串拼接

使用 ’+‘ 连接即可

undefined 未定义数据类型

如果一个变量没有被初始化过,结果就是undefined,undefined类型

var a;

//与字符串进行相加

console.log(a + "10") //undefined10

//与数字进行相加,结果为NaN

console.log(a + 10);

运算符

其他运算符用法与java差不多,这里介绍两个不一样的运算符

  • == 比较相等(会进行隐式类型转换)  比较的是数据的内容
  • === 比较相等(不会进行隐式类型转换)比较的是数据的内容+数据的类型

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

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

相关文章

【MySQL】-21 MySQL综合-7(MySQL主键+MySQL外检约束+MySQL唯一约束+MySQL检查约束)

MySQL主键MySQL外检约束MySQL唯一约束MySQL检查约束 MySQL主键选取设置主键约束的字段在创建表时设置主键约束在创建表时设置复合主键在修改表时添加主键约束 MySQL外键约束选取设置 MySQL 外键约束的字段在创建表时设置外键约束在修改表时添加外键约束删除外键约束 MySQL唯一约…

C++入门学习(二十七)跳转语句—break语句

1、与switch语句联合使用 C入门学习&#xff08;二十三&#xff09;选择结构-switch语句-CSDN博客 #include <iostream> #include <string> using namespace std;int main() { int number;cout<<"请为《斗萝大路》打星(1~5※)&#xff1a;" &…

分支解决冲突 分支管理策略 git merge命令详解

git merge详解 git merge 命令用于合并两个分支的更改。以下是 git merge 命令的一些常用参数&#xff1a; git merge <分支名>&#xff1a; 将指定分支的更改合并到当前分支。 git merge feature-branchgit merge --no-ff <分支名>&#xff1a;这个选项确保总是…

Linux操作系统基础(十一):RPM软件包管理器

文章目录 RPM软件包管理器 一、rpm包的卸载 二、rpm包的安装 RPM软件包管理器 rpm&#xff08;英文全拼&#xff1a;redhat package manager&#xff09; 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项软件包的程序&#xff0c;由于它遵循GPL规则且功能强大方便&…

单片机学习笔记---AT24C02(I2C总线)

目录 有关储存器的介绍 存储器的简介 存储器简化模型 AT24C02介绍 AT24C02引脚及应用电路 I2C总线介绍 I2C电路规范 开漏输出模式和弱上拉模式 其中一个设备的内部结构 I2C通信是怎么实现的 I2C时序结构 起始条件和终止条件 发送一个字节 接收一个字节 发送应答…

MySQL优化及索引

MySQL优化一般会从以下几方面进行入手:引擎&#xff08;MySAM、InnoDB等引擎的选择&#xff09;、表设计&#xff08;可以反三范式添加冗余字段提高检索效率&#xff09;、字段的数据类型&#xff08;数值型字段优于字符串字段&#xff09;、sql书写、索引等方面进行优化&#…

虚拟机ens33没有显示ip

1.然后输入命令 cd /etc/sysconfig/network-scripts或&#xff1a; vim /etc/sysconfig/network-scripts/ifcfg-ens33 2.先按 i 开始【编辑】&#xff1b; 3.再用方向键把光标移到ONBOOT这里,把no改成yes&#xff1b; 4.按esc退出编辑模式, 5.按shift: 【输入wq】保…

Stable Diffusion 模型下载:ToonYou(平涂卡通)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 ToonYou 是一个平涂风格的卡通模型&#xff0c;它的画风独特、光感强烈、画面…

c++ STL系列——(四)queue

在C中&#xff0c;标准模板库&#xff08;STL&#xff09;提供了许多容器和算法&#xff0c;其中之一便是queue。queue是一个先进先出&#xff08;FIFO&#xff09;的数据结构&#xff0c;它允许在队列的末尾添加元素&#xff0c;并从队列的开头移除元素。本文将深入探讨C STL中…

Ubuntu Desktop - Details (设备详情)

Ubuntu Desktop - Details [设备详情] 1. OverviewReferences 1. Overview System Settings -> Details -> Overview ​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

H5/CSS 笔试面试考题(51-60)

简述在使用 table 表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置下面哪些属性值 ( ) A:cellpadding: 0 B:padding: 0 C:margin: 0 D:cellspacing: 0 面试通过率:47.0% 推荐指数: ★★★★ 试题难度: 中级 试题类型: 选择题 答案:a、d 简述下…

Flutter Web应用清理缓存

前言 应用清理缓存是一个常见的功能&#xff0c;在移动端清理缓存这个行为比较常见&#xff0c;但是游览器web应用清理缓存并不常见&#xff0c;很多人都不会特地去清理&#xff0c;与之相关的&#xff0c;flutter的web应用清理缓存的资料网上比较少&#xff0c;本文进行一些探…

单片机在物联网中的应用

单片机&#xff0c;这个小巧的电子设备&#xff0c;可能听起来有点技术性&#xff0c;但它实际上是物联网世界中的一个超级英雄。简单来说&#xff0c;单片机就像是各种智能设备的大脑&#xff0c;它能让设备“思考”和“行动”。由于其体积小、成本低、功耗低、易于编程等特点…

【C++第二阶段】赋值运算符重载

你好你好&#xff01; 以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 赋值运算符重载 赋值运算符重载 实验①&#xff0c;还没有对析构运算符重载时 #include<iostream> #include<string> using namespace std;clas…

失去中国市场的三星仍是全球第一,但中国手机无法失去海外市场

随着2023年分析机构公布全球手机市场和中国手机市场的数据&#xff0c;业界终于看清中国市场早已没有以前那么重要&#xff0c;三星、苹果这些国际品牌对中国市场的依赖没有他们想象的那么严重&#xff0c;相反中国手机对海外市场比以往任何时候都要更依赖了。 三星在2023年被苹…

消息队列使用的四种场景介绍

一、简介 消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合&#xff0c;异步消息&#xff0c;流量削锋等问题。 实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构。 使用较多的消息队列有ActiveMQ&#xff0c;RabbitMQ&#xff0c;ZeroMQ…

【开源】SpringBoot框架开发个人健康管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健康咨询模块 三、系统展示四、核心代码4.1 查询健康档案4.2 新增健康档案4.3 查询体检档案4.4 新增体检档案4.5 新增健康咨询 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

树莓派4B(Raspberry Pi 4B) 使用docker搭建单机版nacos

树莓派4B&#xff08;Raspberry Pi 4B&#xff09; 使用docker搭建单机版nacos ⚠️ 由于树莓派上的芯片是ARM架构&#xff0c;而官方推出的docker镜像不适用于ARM架构&#xff0c;所以想用树莓派搭建最新版的Nacos服务的小伙伴们可以忽略我这篇文章了。本文基于nacos 2.0.4&am…

docker之centos7容器常用命令和服务安装

一、前言 以前我们如果想在windows环境下使用linux系统&#xff0c;最早的是一台主机上安装双机系统&#xff0c;再后来我们有了VMware&#xff0c;可以通过workstations虚拟化平台安装虚拟机。现在我们还可以通过docker安装linux容器&#xff0c;容器更轻量也更便捷。不过凡事…

SpringCloud-高级篇(二十一)

前面解决了消息的可靠性、消息的延迟问题&#xff0c;下面研究一下消息的堆积的问题&#xff1a; &#xff08;1&#xff09;消息堆积问题 消息产生堆积&#xff0c;上限后&#xff0c;最早的消息成为死信&#xff0c;有消息被丢弃&#xff0c;这对安全性较高的业务中是不行的…