JavaScript基础知识

JavaScript

1. 概述

JavaScript负责页面中的的行为。为弱类型语言(变量的数据类型取决于值的数据类型)。它既可以作为前端脚本语言,也可以作为后端语言,取决于应用平台(浏览器/操作系统)和使用的框架(dom、jquery/http、mysql、file)

2.组成

一个完整的JavaScript应由:ECMAScript、DOM、BOM三部分组成

  1. ECMAScript:是JavaScript的标准语法
    ECMA (中文称欧洲计算机制造联合会):这个组织的目标是评估,开发和认可电信和计算机标准。是1961年成立的旨在建立统一的电脑操作格式标准–包括程序语言和输入输出的组织。
    【lodash】是ECMAScript库

  2. DOM(Document object model【文档对象模型】):是js操作html的api

    API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
    【jQuery】是DOM库

  3. BOM(Browser Object model【浏览器对象模型】):是js操作浏览器的api
    alert():用于显示带有一条指定消息和一个 OK 按钮的警告框
    prompt():用于显示可提示用户进行输入的对话框
    confirm():用于显示一个带有指定消息和 OK 及取消按钮的对话框
    setInterval():可按照指定的周期(以毫秒计)来调用函数或计算表达式
    setTimeout():用于在指定的毫秒数后调用函数或计算表达式
    XMLHttpReqeust对象:用于在后台与服务器交换数据

3.JavaScript解释器

浏览器 :dom操作,动画,表单校验,ajax异步交互
nodeJS:网络编程(http模块)数据库操作(mysql),io文件(file),iot(硬件编程)…

4.JavaScript和Java的对比

  1. JavaScript特点
    (1) 解释型语言
    js -> nodejs(js解释器)
    (2) 弱类型语言
    变量的数据类型取决于值的数据类型
    var a ;
    		a = 2;		// a的数据类型为number
    		a = true;	// a的数据类型为boolean

(3) 顺序解释执行
(4) 既可以作为前端脚本语言,也可以作为后端语言,取决于应用平台(浏览器/操作系统)和使用的框架(dom、jquery/http、mysql、file)

  1. Java
    (1)编译型语言
    java -> .class -> jvm(java解释器)
    (2)强类型语言
    变量的数据类型取决于声明的数据类型
    int a ;
    a = 3;
    a = 8;

数据类型:

  1. 无符号整数:char
  2. 有符号整数:byte、short、int、long
  3. 有符号小数:float、double
  4. 布尔类型、boolean

4. JS的编写的位置

  1. 可以编写到标签的指定属性中
<button onclick="alert('hello');">我是按钮</button>
<a href="javascript:alert('aaa');">超链接</a>
  1. 可以编写到script标签中
	<script type="text/javascript">
		//编写js代码
	</script>

3.可以将代码编写到外部的js文件中,然后通过标签将其引入

<script type="text/javascript" src="文件路径"></script>

5. 输出语句

alert("要输出的内容");

该语句会在浏览器窗口中弹出一个警告框

document.write("要输出的内容");

该内容将会被写到body标签中,并在页面中显示

console.log("要输出的内容");

该内容会被写到开发者工具的控制台中

6. 基本的语法

  1. 注释
    (1)单行注释://注释内容
    (2)多行注释
    /*
    	注释内容
    */
  1. JS严格区分大小写
  2. JS中每条语句以分号(;)结尾
  3. JS中会自动忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化。

7. 字面量和变量

  1. 字面量
    (1)字面量实际上就是一些固定的值,比如 1 2 3 4 true false null NaN “hello”
    (2)字面量都是不可以改变的。
    (3)由于字面量不是很方便使用,所以在JS中很少直接使用字面量

  2. 变量
    (1)变量可以用来保存字面量,并且可以保存任意的字面量
    (2)一般都是通过变量来使用字面量,而不直接使用字面量,而且也可以通过变量来对字面量进行一个描述
    (3)声明变量
    使用var关键字来声明一个变量
    var a;var b;var c;
    (4)变量赋值
    a = 1;b = 2;c = 3;
    (5)声明和赋值同时进行
    var d = 456;var e = 789;

8.标识符

  1. 在JS中所有的可以自主命名的内容,都可以认为是一个标识符,是标识符就应该遵守标识符的规范。
    比如:变量名、函数名、属性名
  2. 规范:
    1.标识符中可以含有字母、数字、_、$
    2.标识符不能以数字开头
    3.标识符不能是JS中的关键字和保留字
    4.标识符一般采用驼峰命名法:xxxYyyZzz
【使用教程】 一、环境配置 1、建议下载anaconda和pycharm 在anaconda中配置好环境,然后直接导入到pycharm中,在pycharm中运行项目 anaconda和pycharm安装及环境配置参考网上博客,有很多博主介绍 2、在anacodna中安装requirements.txt中的软件包 命令为:pip install -r requirements.txt 或者改成清华源后再执行以上命令,这样安装要快一些 软件包都安装成功后才算成功 3、安装好软件包后,把anaconda中对应的python导入到pycharm中即可(不难,参考网上博客) 二、环境配置好后,开始训练(也可以训练自己数据集) 1、数据集准备 需要准备yolo格式的目标检测数据集,如果不清楚yolo数据集格式,或者有其他数据训练需求,请看博主yolo格式各种数据集集合链接:https://blog.csdn.net/DeepLearning_/article/details/127276492 里面涵盖了上百种yolo数据集,且在不断更新,基本都是实际项目使用。来自于网上收集、实际场景采集制作等,自己使用labelimg标注工具标注的。数据集质量绝对有保证! 本项目所使用的数据集,见csdn该资源下载页面中的介绍栏,里面有对应的下载链接,下载后可直接使用。 2、数据准备好,开始修改配置文件 参考代码中data文件夹下的banana_ripe.yaml,可以自己新建一个不同名称的yaml文件 train:训练集的图片路径 val:验证集的图片路径 names: 0: very-ripe 类别1 1: immature 类别2 2: mid-ripe 类别3 格式按照banana_ripe.yaml照葫芦画瓢就行,不需要过多参考网上的 3、修改train_dual.py中的配置参数,开始训练模型 方式一: 修改点: a.--weights参数,填入'yolov9-s.pt',博主训练的是yolov9-s,根据自己需求可自定义 b.--cfg参数,填入 models/detect/yolov9-c.yaml c.--data参数,填入data/banana_ripe.yaml,可自定义自己的yaml路径 d.--hyp参数,填入hyp.scratch-high.yaml e.--epochs参数,填入100或者200都行,根据自己的数据集可改 f.--batch-size参数,根据自己的电脑性能(显存大小)自定义修改 g.--device参数,一张显卡的话,就填0。没显卡,使用cpu训练,就填cpu h.--close-mosaic参数,填入15 以上修改好,直接pycharm中运行train_dual.py开始训练 方式二: 命令行方式,在pycharm中的终端窗口输入如下命令,可根据自己情况修改参数 官方示例:python train_dual.py --workers 8 --device 0 --batch 16 --data data/coco.yaml --img 640 --cfg models/detect/yolov9-c.yaml --weights '' --name yolov9-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 500 --close-mosaic 15 训练完会在runs/train文件下生成对应的训练文件及模型,后续测试可以拿来用。 三、测试 1、训练完,测试 修改detect_dual.py中的参数 --weights,改成上面训练得到的best.pt对应的路径 --source,需要测试的数据图片存放的位置,代码中的test_imgs --conf-thres,置信度阈值,自定义修改 --iou-thres,iou阈值,自定义修改 其他默认即可 pycharm中运行detect_dual.py 在runs/detect文件夹下存放检测结果图片或者视频 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。
本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的二手手机回收平台系统。该系统旨在为二手手机回收提供一个便捷、高效的在线交易平台,同时确保交易的安全性和透明度。 在后台管理方面,系统提供了用户管理、商品管理、订单管理以及数据统计等功能。通过这些功能,管理员能够轻松地管理平台上的用户信息、审核商品发布、跟踪订单状态,并对平台的运营数据进行详细的分析。 在前端展示上,系统采用了Vue.js框架,实现了响应式的用户界面设计。用户可以通过直观的界面浏览商品、发布自己的二手手机信息、下订单以及查看交易记录。此外,系统还提供了搜索和筛选功能,帮助用户快速找到符合自己需求的商品。 技术实现上,后端使用了Java语言,结合Spring框架进行依赖注入和事务管理,SpringMVC负责处理Web请求,而MyBatis则用于数据库操作。前端则使用Vue.js进行页面渲染和交互逻辑处理,搭配Axios进行异步数据请求。 本项目的数据库设计充分考虑了数据的完整性和安全性,采用了关系型数据库MySQL进行数据存储。数据库表结构包括用户表、商品表、订单表等,确保了系统的高效运行和数据的一致性。 对于正在进行毕业设计的学生或需要项目实战练习的Java学习者来说,本项目提供了一个完整的技术栈和业务逻辑实现,可以作为学习和实践的良好参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值