当前位置: 首页 > news >正文

JavaScript入门(一)

JavaScript(Js)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,例如 Node.js、 Apache CouchDB 和 Adobe Acrobat。JavaScript 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

1.2 JavaScript 的组成部分

  • ECMAScript , JS的核心语法标准,描述了该语言的语法和基本对象。
    兼容性100%,类似于CoreJava,制定了基础的语法)例如:
    注释 // ,/**/
    变量 var,let,const
    操作符
    流程控制语句
    数组
    对象
    函数
    正则表达式

    所有的js解释器都可以兼容ECMAScript

  • 文档对象模型(DOM) ,描述处理网页内容的方法和接口。
    js操作html的api
    是针对XML但经过扩展用于HTML的应用程序编程接口。 DOM将整个页面映射成一个多节点结构。

    var dom=document.getElementsByTagName(“input”);

    var dom=document.getElementById(“input_name”);

    dom.οnclick=function(){}

    js语言:基础语法、基础库、扩展库(jQuery DOM库)

  • 浏览器对象模型(BOM) , 描述与浏览器进行交互的方法和接口。
    js操作浏览器的api

    开发人员可以使用BOM控制浏览器显示的页面以外的部分。 弹出新浏览器窗口;移动,缩放,关闭浏览器的功能;提供浏 览器详细信息的navigator对象;提供浏览器所加载页面的详细信息的location对象;提供用户显示器分辨率详细信息的screen对象;对cookies的支持;支持XMLHttpRequest,IE中的ActiveXObject自定义对象

    alert()/prompt()/confirm()

    setInterval(),setTimeout()

    XMLHttpRequest
    Ajax
    这里需要注意的是,只有ECMAScript是标准,也就是在绝大多数浏览器以及js解析器(node)中运行效果相同,但是DOM与BOM是各大浏览器厂商自己提供的API,在使用上大同小异,但是也可能会出现少许不兼容的情况

js解释器:

1)浏览器厂商:Firefox(js标准)、IE(js)、Google(js)

兼容性:

JavaScript的三个组成部分,在当前五个主要浏览器(IE,Firefox,Chrom,Safari,Opera)中得到了不同程度支持,其中,所有浏览器对ECMAScript3支持大体都还不错,对ECMAScript支持程度越来越高,但对DOM的支持彼此相差较多,对已经正式纳入HTML5标准的BOM来说,尽管各浏览器都实现了某些众所周知的共同特性,但其他特性还因浏览器而异。

2)nodejs【网络编程(http模块)/数据库操作(mysql)/IO文件(file)】

http://nodejs.cn可以安装在linux windows macos unix等主流操作系统上

特征:可以运行在客户端、服务器端,解释性语言,弱类型语言,从上到下顺序执行。

在nodejs中,不存在兼容性问题,因为nodejs中压根就没有dom/bom,因此切记不要在nodejs中执行任何dom和bom代码,由于不存在兼容性问题,nodejs是可以大量发挥js高级标准,ES6语法一般在nodejs中可以完全运行。

js特点

  1. 解释型语言
    js -> nodejs(js解释器)

  2. 弱类型语言
    变量的数据类型取决于值的数据类型
    例如:var a;
    a=2; //a的数据类型为number
    a=true; //a的数据类型为Boolean

  3. 顺序解释执行 自上而下

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

在网页中使用JavaScript

内部JavaScript
编写好HTML,在<head>标签体中添加<script>元素,然后将js代码填写进来即可。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script type="text/javascript">alert('hello javascript')</script>
</head>
<body>
</body>
</html>

外部JavaScript
单独新建一个后缀名为.js的js文件,编写好HTML文件,在<head>标签体内添加<script>元素,使用script标签的src属性将将js文件导入进来。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script type="text/javascript" src="hello.js">console.log(2+3);    //报错,引用js文件 不可以插入语句</script>
</head>
<body>
</body>
</html>
在body和head中使用JavaScript的区别

​ 在body部分中的JavaScript会在页面加载的时候被执行,在head部分中的JavaScript会在被调用的时候才执行。

​ 因为浏览器解析html是从上到下的。如果把JavaScript放在head里的话,则先被解析,但这时候body还没有解析,所以会返回空值。一般都会绑定一个监听,当全部的html文档解析完之后再执行代码

windows.onload = function(){// 这里放执行的代码
}

这就说明了,如果我们想定义一个全局对象,而这个对象是页面中的某个按钮时,我们必须将其放入body中,道理很明显:如果放入head,那当你定义的时候,那个按钮都没有被加载,可能获得的是一个undefind。一般习惯将JavaScript放在body的最后面,类似last-child。

在vi/vim中编写JavaScript
console.log('hello JavaScript')

使用node命令执行即可

$ node hello.js
注释

单行注释
// I am a comment
多行注释
/*
I am also
a comment
*/

3.关键字与保留字

关键字:(在js中有特殊功能)

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

保留字:(将来可能成为关键字)

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

1) 区分大小写

typeof 关键字, typeOf 非关键字

2) 标识符

指变量,函数,属性的名字或者函数的参数。标识符是按照以下规则组合起来的一或多个字符:

1.字母,数字,下划线,$组成

2.只能以字母,下划线,$开头。

3.不能将关键字作为标识符。命名采用驼峰式命名

  1. 语句

每个语句以分号结尾,如果省略分号,由解析器确定语句的结尾,即分号可以省略,但是我们要求每个语句的末尾都应该有分号

4.变量

变量是一个值的容器,该容器的值可以随时改变。ECMAScript的变量是弱类型(松散类型),可以用来保存任何类型的数据。定义变量时使用var关键字。
变量的使用:

声明 var message;
初始化 message = “hello”
声明并初始化 var message = “hello”;
定义多个变量 var message= “hello”,found=false, age = 29;

变量名的命名规则:

  • 变量名由字母,数字,下划线以及$组成。

  • 不要使用下划线或者数字作为变量名的开头

  • 变量名应该具有一定的意义,使用小驼峰命名规则 var userAgeTotal = “”;

  • 不要使用关键字或是保留字

变量的使用:
三个步骤 声明 ,初始化,使用

// 变量声明
var a ;
// 变量初始化
a = 3;
// 变量调用
console.log(a);

js和Java的区别:

  • js是弱类型语言:

    变量的数据类型在初始化的时候确定
    变量的数据类型可以随时发生改变
    类型细分不明显

  • java是强类型语言

    变量的数据类型在声明的时候确定
    变量的数据类型一旦确定不能更改

var let const声明变量

var用于声明一个变量,在es6中,可以通过let声明一个变量,通过const声明一个常量
1.let var const的区别

  • var声明全局变量,作用域为全局。

    let只在其所在的代码块内有效,存在暂时性死区,即变量会绑定某个区域,不受外部影响。
    const同样存在暂时性死区。

  • var存在变量声明提升,var声明的变量可在声明前使用,只是这种情况下值为undefined。let没有,const没有,只能在声明后使用,否则报错。

  var a;//提升到作用域的最前面console,log(a);//undefined//var a = 3;a = 3;console.log(a); //3
  • var可以重复定义一个变量,后面覆盖前面。
    let不允许重复定义变量,否则报错。(注意,是定义)
    const声明常量一旦声明不可修改。(这个不可修改指的是 变量指向的内存地址不变,内存地址内保存的是实际指向数据的指针,const只能保证这个指针是固定的,即总是指向一个固定的地址。也就是不能把变量指向另一个地址,旦对象本身是可变的。)

    2.关于声明后变量值是否可以重复覆盖?
    - var 可以重复定义且重复赋值。
    - let 不可重复定义,但可以重复赋值。
    - const 不可重复定义,且不可重复赋值。

    3.如何判断var声明的变量的作用域
    ​ - 先看全局变量有哪些 值为多少
    ​ - 局部变量有哪些 值为多少
    ​ - 输出 ,全局能拿哪些值

5.数据类型

JavaScript基本数据类型:

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

JavaScript拥有动态类型, 也就是相同的变量可用作不同的类型

var x;               // x 为 undefined
var x = 5;           // 现在 x 为数字
var x = "John";      // 现在 x 为字符串

字符串 String

字符串是存储字符(比如 “Bill Gates”)的变量。

字符串可以是引号中的任意文本。可以使用单引号或双引号:

var carname="Volvo XC60";
var carname='Volvo XC60';

可以在字符串中使用引号,只要不匹配包围字符串的引号即可:

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

可以使用字符字面量,转义字符
\n 换行 \t 制表 \b 退格
\r 回车 \ 斜杠 ’ 单引号
" 双引号
字符长度可通过length属性获取字符长度

var str = "我是字符串";
console.log(str);
console.log(str.length);
var s4='\n\t\b\r';
数字 Number

JavaScript 只有一种数字类型。数字有很多类型,按照数字精度可以分为整数(int),单精度(float),双精度(double ),按照数字的表示方法可以分为二进制(Binary),八进制(Octal),十进制(decimal system),十六进制(Hexadecimal)。但是在js中,所有的数字统一使用Number来表示。

表示方法

整数:

​ 十进制 55 由0~9组成

​ 八进制 070 首位为0,其他位有0~7组成

​ 十六进制 0x11 首位为0x,其他位为09,AF

var num1 = 34;         //不使用小数点来写
var num2 = 010;        //8
var num3 = 0x10;       //16
console.log(x1, x2, x3, x4);
浮点数:

​ 所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后必须至少有一位数字。浮点数值的最高精度是17位小数

​ 普通浮点数 3.1415926

​ 科学计数法 3.125e7 即31250000

var f1 = 3.1415926;  //3.1415926
var f2 = 3.125e7;    //31250000
console.log(f1, f2);
非数值:

​ 该数值表示一个本来要返回数值的操作数未返回数据的情况

var a = 10/ "a";	// a为NaN
非数值检测:

​ 判断参数是否“不是数值”,当参数para不是数值的时候返回true

isNaN(NaN);	// true
数值范围:

​ 由于内存的限制,ECMAScript不能保存世界上所有的数值。

​ ECMAScript能表示的最小数值保存在Number.MIN_VALUE中

​ 能表示的最大的数值保存在Number.MAX_VALUE中。

​ 如果某次计算的结果超过了JavaScript数值范围,将会返回Infinity(正无穷)或者-Infinity(负无穷)

var a = 9/0;   // Infinity
Number.MIN_VALUE    5e-324
Number.MAX_VALUE   1.7976931348623157e+308
数值范围检测:

​ 使用 isFinite()函数可以判断参数是否在最大值和最小值之间,如果在,返回true

var a = isFinite(9/0);	// false
布尔Boolean

布尔(逻辑) 只能有两个值 : true 或 false
补充:""空字符串为false , " "空格字符为true

Null

该类型的取值只有一个,即null。null可以表示一个空对象的指针。

var a = null;

如果一个变量准备将来保存对象,可以将该变量初始化null而不是其他,这样可以通过检查null值就可以知道

相应的变量是否已经保存了一个对象的引用。

if(car !== null ){  //car对象执行某些操作}
Undefined

Undefined 这个值表示变量不含有值。未定义的。

var a;
console.log(a,typeof a);//undefined 'undefined'
var a = undefined;
console.log(a,typeof a);//undefined 'undefined'
udefined与null关系

undefined继承null,所以undefined == null结果为true,但是null表示空对象,undefined表示未定义;

null与undefined用途不同,null可以用来表示一个空对象,但是没有必要把一个变量的值显式设置为undefined。

//null vs undefined
console.log(undefined == null); //true  //undefined派生自null
console.log(undefined === null);//false
if(null == undefined){console.log('相等的')}
if(null === undefined){console.log('完全相等')}
// ==, 等同  的意思, 两边值类型不同的时候,要先进行类型转换为同一类型后,再比较值是否相等。 
// ===,恒等  的意思, 不做类型转换,类型不同的结果一定不等。
// "=="表示只要值相等即可为真,而"==="则要求不仅值相等,而且也要求类型相同。
// 建议:尽量使用严格运算符 ===。因为"=="不严谨,可能会带来一些违反直觉的后果。

引用数据类型

对象object

对象是模拟现实生活的对象,对象由键值对组成,通过使用大括号将所有键值对括起来。

var dog = {name: 'momo',age: 4
}

可以通过点语法获取对象的属性

dog.name; //momo
dog.age;	//age
数组Array

数组是一个特殊的对象,包含了多个值,值与值之间使用逗号分隔开,所有的值通过中括号括起来。

var classArr = ['web2104','web2105','web2106']
var studentArr = ['zhangsan','lisi','wangwu']

可以通过数组下标获取对应的数据

classArr[0]; // web2104
函数Function

函数是代码执行单元,用于实现某些特殊的功能。

function sum(a, b) {return a + b;
}
//执行函数
sum(1,2); // 3

基本数据类型和引用数据类型在内存中如何存储

  • 基本数据类型存储方式
    基本数据类型变量都维护在栈区,基本数据类型的值保存在栈区。
var a = 123;
b = a;
a = 456;

结论:基本数据类型的值存在栈,值与值之间独立存在,修改一个值不会影响其他变量

  • 引用数据类型存储方式
    引用数据类型的引用地址保存在栈区,值保存在堆区。
var obj = {name: 'zhangsan'
}
var obj1 = obj; //将对象obj赋值给对象obj1
console.log(obj.name);  //zhangsan
console.log(obj1.name); //zhangsan// 修改obj的name
// 当obj属性name变为"lisi"时,obj1属性name也变为"lisi"
obj.name = 'lisi';
console.log(obj.name);  //lisi
console.log(obj1.name); //lisi
  • 深拷贝与浅拷贝

主要针对于引用数据类型参数说的,浅拷贝表示仅拷贝引用地址,深拷贝表示对于对象的克隆。

实现深拷贝的方法
  • 通过json对象实现深拷贝(JSON.stringify,JSON.parse)
  • Object.assign()拷贝
  • lodash函数库实现深拷贝
  • 递归的方式实现深拷贝
  • 等等

6. 类型判断

在实际开发中,我们经常要判断一个变量的数据类型。

  • typeof

使用typeof判断数据类型
返回该变量名所指向数据的类型
语法: typeof 变量名
返回值如下:
“undefined” 未定义
“boolean” 布尔类型
“string” 字符串
“number” 数值
“object” 对象或者null或者数组
“function” 函数

通过typeof可以判断一个变量的类型

var a = 3;
typeof a;  // number
if((typeof a) == "string"){}
if(a == "null"){}
if(a == null){}
  • isNaN

判断是否是 不是一个数字

var a = 10/'a';
isNaN(a);    //true
  • isFinite

判断是否是一个有效值

var a = 10/0 ;
isFinite(a)   // false

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

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

python学习之路(第八天)---re模块正则表达式

python学习之路&#xff08;第八天&#xff09;—re模块正则表达式 python学习之路&#xff08;第八天&#xff09;---re模块正则表达式在线正则匹配正则匹配语法re.compile方法re.match方法re.search方法re.finditer方法转义匹配findall()正则表达式的实例正则表达式&#xff…...

移动端开发

移动端应用 H5 移动端页面App小程序 移动端开发方式 原生开发&#xff08;Native App&#xff09;网页开发&#xff08;Web App&#xff09;混合开发&#xff08;Hybrid App&#xff09;跨平台移动端框架 跨 App 平台&#xff1a;React Native、weex、Flutter跨 App、小程序、…...

bootstrap table自定义新增行

.deleattrbtn,.addtrbtn{width: 60px;color: #fff;font-size: 12px;background-color: #3177E7;border-radius: 2px;border: 0; }#addtrdiv,#back_addtrdiv{margin: 10px 22px;text-align: right; }.table-bordered{table-layout: fixed;font-size: 12px; }.table th, .table...

毕设系列 -- 基于STM32的人体红外测温枪温度采集系统

文章目录1 简介2 主要器件3 实现效果4 设计原理MLX90614 红外温度传感器5 部分实现代码6 最后1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目 基于STM32的人体红外测温枪温度采集系统 大家可用于 课程设计 或 毕业…...

laravel 8 实现excel 导出

composer 下载 composer require maatwebsite/excel 引入 use Elasticsearch\ClientBuilder; 创建excel文件 php artisan make:Exports FangExports FangExports 里面 return Fang::all(); php后台 //导出房东excelpublic function exports(){return Excel::download(…...

Vue相关:

目录 1,说一下vue最大特点是什么或者说vue核心是什么 2,说一下vue常用基本指令有哪些 3,Vue常用的修饰符...

spring-cloud-kubernetes-feign实战

关于spring-cloud-kubernetes spring-cloud-kubernetes是springcloud官方推出的开源项目&#xff0c;用于将Spring Cloud和Spring Boot应用运行在kubernetes环境&#xff0c;并且提供了通用的接口来调用kubernetes服务&#xff0c;主要提供了应用程序使用k8s本身功能&#xff…...

【Unity】如何将资源包里的Prefabs资源为己所用

步骤一、将所需要的prefab从外部导入的资源拖入Scene中。二、右键该预制体&#xff0c;选择Unpack Prefab Completely取消该预制体及其子物体与资源包中预制体的关联。三、将该预制体拖动到自己的prefabs文件夹目录下&#xff0c;制作成自己项目的预制体。四、在Project面板下&…...

docker学习笔记(一)

概述 Docker是一款针对程序开发人员和系统管理员来开发、部署、运行应用的一款虚拟化平台。Docker 可以让你像使用集装箱一样快速的组合成应用&#xff0c;并且可以像运输标准集装箱一样&#xff0c;尽可能的屏蔽代码层面的差异。Docker 会尽可能的缩短从代码测试到产品部署的时…...

防火墙高可靠性

双机热备、BFD双向转发检测、IP-LINK链路检测、Link-Group逻辑组、ETH-Trunk链路捆绑、Bypass&#xff0c;跨数据中心集群&#xff0c;双主控、业务板备份、数据中心会话同步 双机热备 目的&#xff1a;为了防止单点故障 实现&#xff1a;两台硬件软件相同的FW之间通过一条独…...

手写Promise.all()方法

有1个promise报错了&#xff0c;其他的promis会执行吗&#xff1f; 会的&#xff0c;因为Promsie在实例化时候就已经执行完了。手写Promise.all()方法 function PromiseAll(promiseArray){//返回的一定是个proimsereturn new Promise((resolve,reject)>{//首先判断传入的是…...

Centos8.0系统升级到最新版本

一 &#xff0c;Centos8.0更换国内源&#xff08;阿里源&#xff09; 1&#xff0c; 备份旧的配置文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2&#xff0c;进入cd /etc/yum.repos.d cd /etc/yum.repos.d3&#xff0c;下载新的 Ce…...

高端音响的死亡被大大夸大了

几年前&#xff0c;在 MP3 盗版时代的鼎盛时期——当高端音频世界哀叹 MP3 文件的糟糕音质&#xff0c;而 MP3 用户乐于用音质换取免费音乐时——一位业内同事问我我以为高端音频已经死了。我向她保证不&#xff0c;一部分音乐迷&#xff0c;虽然可能不是主流&#xff0c;但总是…...

Java学习笔记--13.网络编程

Java学习笔记–13 第十章 网络编程 目录Java学习笔记--13前言网络编程1.定义2.TCP通信(1).ServerSocket(2).Socket3.UDP通信(1).发送方(2).接收方前言 21世纪&#xff0c;走进了信息时代&#xff0c;各种各样的软件层出不穷&#xff0c;但是总离不开程序开发&#xff0c;离不…...

python100例045求1-100之和用sum(range(1,101))

""" 题目045&#xff1a;统计 1 到 100 之和 """ def test045():count 0for i in range(1, 101):count iprint(count)# 二print(sum(range(1, 101))) test045()...

PyScreeze 基本使用(1)

PyScreeze 基本使用&#xff08;1&#xff09; PyScreeze屏幕截图 PyScreeze是Python 2和3的一个简单的跨平台屏幕截图模块。 关于 PyScreeze可以拍摄截图&#xff0c;将它们保存到文件中&#xff0c;并在屏幕中定位图像。这是有用的&#xff0c;如果你有一个小的图像&#x…...

wimform 继承窗体卡顿解决

get { const int CS_NOCLOSE 0x200; CreateParams cp base.CreateParams; cp.ClassStyle cp.ClassStyle | CS_NOCLOSE; if (!DesignMode) { cp.ExStyle...

git 替换commit的账户与邮箱信息 GitLab: Committer‘s email does not follow the pattern

最终解决方法来源&#xff1a; https://segmentfault.com/q/1010000006999861 https://www.cnblogs.com/zh7791/p/12986083.html ① git rebase -i HEAD~N N代表前N次的提交记录 ② 出现记录后键入i进入INSERT模式&#xff0c;在需要修改的条目上&#xff0c;将pick改为edit…...

后端返回状态码401, 获取不到怎么办?

传送门...

解决for循环中异步请求顺序不一致的问题

解决for循环中异步请求顺序不一致的问题参考文章&#xff1a; &#xff08;1&#xff09;解决for循环中异步请求顺序不一致的问题 &#xff08;2&#xff09;https://www.cnblogs.com/mo3408/p/12163012.html 备忘一下。...

GCC的-Wl,--wrap编译选项

GCC的--wrap是一个链接器选项&#xff0c;假如我们要编译的源文件为main.c&#xff0c;编译命令如下&#xff1a; gcc main.c -Wl,--wrapfunc -o main.elf有以下效果&#xff1a; 如果符号func没有&#xff08;在当前源文件&#xff09;定义&#xff0c;就链接到__wrap_func如…...

学习第五篇:【SpringBoot-Labs】Spring Boot 调试环境、热部署入门、Lombok、MapStruct入门

本周&#xff08;8.21-8.27&#xff09;将学习芋道 Spring Boot的以下文章&#xff1a; 8.21&#xff1a; 快速入门 8.22&#xff1a;Spring Boot 自动配置原理 、Jar 启动原理 8.23&#xff1a;调试环境、 热部署入门、消除冗余代码 Lombok 入门 8.24&#xff1a;对象转换 Map…...

PHP性能分析:Xhprof介绍

什么是性能分析&#xff1f; 性能分析是衡量应用程序在代码级别的相对性能。性能分析将捕捉的事件包括&#xff1a;CPU的使用&#xff0c;内存的使用&#xff0c;函数的调用时长和次数&#xff0c;以及调用图。性能分析的行为也会影响应用性能。 什么时候应该进行性能分析? …...

【MyBatis-Plus】第一章 快速入门

第一章 快速入门 文章目录第一章 快速入门一、介绍1.概述2.特性二、入门案例1.安装插件2.准备工作3.MyBatis-Puls 替换 MyBatis4.修改 StudentDao 接口5.修改实体类 Student.java6.修改 StudentServiceImpl.java7.修改 StudentController.java一、介绍 1.概述 MyBatis-Plus 是…...

Python 使用标准库原始socket 生成 pcap 文件

注意事项 : 1.仅限linux/uninx 使用 2.不需要任何第三方库,仅用标准库 3.格式为公开格式,可以whireshark 直接打开 代码如下: import time,structclass Pcap:def __init__(self, filename, link_type1):self.pcap_file open(filename, wb)self.pcap_file.write(struct.pack(…...

高斯消元法解方程组

高斯消元法是线性代数里解线性方程组的一种方法同时也可以用来求矩阵的秩。原理是通过将原线性方程的增广矩阵初等变换来使原始矩阵化为行最简阶梯型&#xff0c;从而求出线性方程组的解&#xff0c;方程组的解的数量有三种情况&#xff0c;如果矩阵为行满秩矩阵的话显然这个矩…...

API框架:swagger上手,接口注释,接口测试,简单使用

swagger 每日格言 贵在坚持、难在坚持、成在坚持。 学习目标&#xff1a; 了解Swagger的作用和概念了解前后端分离在SpringBoot中集成Swagger Swagger简介 故事还是要从前后端分离讲起啊 **前后端分离&#xff1a;**VUESpringBoot 基本上都用这一套 **后端时代&#xf…...

命令行优化、Pod介绍、label标签、控制器(Deployment、DaemonSet)

文章目录一、优化命令行二、kubernetes带来的变革1.对于开发人员2.对于运维人员3.Pod1>Pod生命周期2>Pod是如何管理多个容器的3>Pod中数据持久性4>Pod的状态5>Pod的资源清单详解6>Pod的重启策略三、名词介绍1.k8s中的名称空间2.namespace3、Label标签3.k8s中…...

LPL比赛数据可视化,完成这个项目,用尽了我的所有Python知识

LPL比赛数据可视化 效果图 完成这个项目&#xff0c;我感觉我已经被掏空了&#xff0c;我几乎用尽了我会的所有知识 htmlcssjavascriptjQuerypythonrequestsnumpymysqlpymysqljsonajaxflaskecharts 在这个过程中&#xff0c;并不是那么顺利&#xff0c;遇到了很多坑&#xff0…...

模拟,枚举与递推

模拟 模拟指的是将题目描述转化为可执行的代码&#xff0c;其中我们会用到编程语言的基础内容&#xff0c;最常见的就是循环。 简单的题目&#xff0c;通常直接模拟就够了&#xff0c;比如 874. 模拟行走机器人 。 而如果是中等和困难的题目&#xff0c;除了使用模拟&#x…...

dbc2000 注册机|dbc2000 注册码注册机下载

点击下载来源&#xff1a;dbc2000 注册机 dbc2000 注册机是同名源程序软件的注册机软件&#xff0c;该源程序软件是一款应用于数据库搭建以及数据写入的数据库架设工具&#xff0c;它拥有强大的数据写入功能&#xff0c;在作为应用程序使用时&#xff0c;它不仅可以充当数据属性…...

秋招面经第八弹:网易二面-数据开发工程师

秋招第八弹&#xff1a;网易二面-数据开发工程师 写在最前&#xff1a;秋招以来一直在冲&#xff0c;因为事情比较多&#xff0c;对于笔试面试一直没有复盘&#xff0c;现在靠仅存的记忆把面试的一些问题记录下来&#xff0c;尽可能记录出能回忆到的问题&#xff0c;但可能记的…...

安卓课程格子APP

https://download.csdn.net/download/weixin_57836618/73810452 功能演示&#xff1a; 查看所有课程 点击主页面空白处即可添加课程 添加课程之后查看课程 查看双周课程 查看单周课程 6.查看课程详情...

强化学习——格子世界

强化学习——格子世界 项目源码地址&#xff1a;https://gitee.com/infiniteStars/machine-learning-experiment 1. 实验内容 2. 实验代码 import numpy as np import matplotlib.pyplot as plt from matplotlib.table import Table from xml.dom.minidom import Document #手…...

华为机试 - 跳格子游戏

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 地上共有N个格子&#xff0c;你需要跳完地上所有的格子&#xff0c;但是格子间是有强依赖关系的&#xff0c;跳完前一个格子后&#xff0c;后续的格子才会被开启&#xff0c;格子间的依赖关系由多组st…...

php 爬课程表信息,Ruby爬取教务系统生成课程表

我为什么要虐自己最近觉得课程格子广告越来越多&#xff0c;乱七八糟的东西越来越多&#xff0c;完全失去了一开始的存在价值&#xff0c;并且没有电脑端app&#xff0c;想查看课程必须拿出手机&#xff0c;而我使用电脑频率要比手机高&#xff0c;所以才有了折腾的动力。于是我…...

android 课程表 ui,UICollectionViewLayout实现课程表布局

因为项目中有课程表的相关模块&#xff0c;第一时间想到用UICollectionView。然而后期的需求越来越复杂&#xff0c;每个格子需要展示的内容越来越多&#xff0c;所以不得不寻找合适的解决方案。最后发现自定义UICollectionViewLayout可以实现我的需求。先放效果图&#xff1a;…...

Android自定义View课程表,Android 自定义View课程表表格

自己闲下来时间写的一个课表控件使用的自定义LinearLayout 里面View都是用代码实现的 最终效果如下图 写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数 和节数大概的布局三这样的根据上面的看来觉得总体布局我分了两个 上面的星期是…...

java课程设计设计_java课程设计

1. 团队课程设计博客链接https://www.cnblogs.com/choco1ate/p/12172223.html2.本组课题及本人任务本组课题&#xff1a;泡泡堂(炸弹人)游戏本人任务&#xff1a;Box类(游戏地图中的每个方格)Bomb类(游戏过程中的)游戏玩家输赢信息的文件储存3.需求分析Box类&#xff1a;该类为…...

《课程格子》的一个笔试题目

题目如下&#xff0c;感觉很适合喜欢琢磨的程序员&#xff0c;也是考验你编码风格的时候。 Lets make a tower defense game&#xff08;塔防游戏):1. You have 1 tower, with H health and D dps(damage per second).2. There are n attackers, each with h_i health and d_i …...

Android仿照超级课程表 or 课程格子 一键提取课表功能(方正系统)

参考文章http://blog.csdn.net/sbsujjbcy ,本文仿照‘ 安卓弟 提供的android 项目实战——打造超级课程表一键提取课表功能文章&#xff0c;对他的代码进行了修改和补充&#xff0c;为什么要修改呢&#xff1f;原因是安卓弟的那个源码版本过于老旧&#xff0c;很多方法已经过…...

day13_面向对象的三大特征之一(封装)

封装概述 为什么需要封装&#xff1f; 现实生活中&#xff0c;每一个个体与个体之间是有边界的&#xff0c;每一个团体与团体之间是有边界的&#xff0c;而同一个个体、团体内部的信息是互通的&#xff0c;只是对外有所隐瞒。例如&#xff1a;我们使用的电脑&#xff0c;内部…...

python-格式化写入xml文件

背景 直接写入xml文件&#xff0c;最终得到的xml文件时一行&#xff0c;不是向我们日常看见的换行以及缩进。 为了得到得到上面的效果&#xff0c;需要转换一下&#xff0c;代码如下 import xml.etree.ElementTree as ET from xml.dom import minidomdef saveXML(root, fil…...

EditPlus格式化xml

由于工作需求 要针对xml进行传输 在这里我一直用的是eclipse进行格式化xml 但是同事非要用node或者editplus 在这里我说明一下 我的editplus版本为2016英文版 editplus原本是没有格式化xml这个功能的 需要导入一个插件 插件地址&#xff1a;点击进入下载页 下载后为…...

xml字符串格式化

说明 1、调用方法 &#xff1a; new XMLFormat(xml).format(); 2、该类不引用其他第三方jar包. 3、支持对缩写< />进行格式化。 本文参考博文&#xff1a;https://blog.csdn.net/Dior_DNA/article/details/77966895 代码 import org.apache.commons.lang3.StringUti…...

程序员养生宝典

工作归工作&#xff0c;生活归生活&#xff0c;每天一个小技巧&#xff0c;平安工作&#xff0c;快乐生活 1.吃了辣的东西&#xff0c;感觉就要被辣死了&#xff0c;就往嘴里放上少许盐&#xff0c;含一下&#xff0c;吐掉&#xff0c;漱下口&#xff0c;就不辣了&#xff1b;…...

item_search - 按关键字搜索EBAY商品

为了进行电商平台API开发&#xff0c;我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后在平台应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载平台API的SDK并掌握基本的API基础知识和调用 4&#xff09;利用SDK接口和对象&a…...

3D打印中常见的7中材质分析

3D打印中常见的7中材质分析 3D打印中使用过的材质是有很多种的&#xff0c;想要选择合适的3D打印材料&#xff0c;就必须了解3D打印材料的特性&#xff0c;每种3D打印材料都有自己的特性&#xff0c;应该根据自己产品的需求以及打印材料特性&#xff0c;有针对性、目的性的选择…...

当当API接口:item_search - 按关键字搜索dangdang商品

万邦当当网按关键字搜索dangdang商品 API 返回值说明 点击注册测试地址&#xff08;获取Key和secret&#xff09; Request address: //api.onebound.cn/dangdang/api_call.php? q鞋子&start_price&end_price&page&cat&discount_only&sort&page…...

又一北京“假名媛”曝光,蹭吃蹭喝21天,暴露人性最真实一面

&#x1f447;&#x1f447;关注后回复 “进群” &#xff0c;拉你进程序员交流群&#x1f447;&#x1f447;文 / 小椰子 微信&#xff1a;小椰子专栏(ID:xiaoyezizhuanlan)01最近&#xff0c;一位中央美院的女生&#xff0c;为了完成自己的毕业作品&#xff0c;做了这样一次…...