目录

1,JavaScript简介

1.1 什么是JavaScript?

1.2 为什么要学JavaScript?

1.3 JS组成

2,JavaScript入门

2.1 实现js效果的两个步骤

2.2 js的三种引入方式(重点)

2.3 js的三种输出方式 (重点)

3,变量

3.1 什么叫变量

3.2 变量的定义方法

3.3 三种定义变量方式的区别

3.4 使用一个关键字定义多个变量

3.5 js中命名规则---重点

4,JavaScript中的数据类型

4.1 为什么分类?

4.2 数据类型的分类?(面试)

4.3 基本数据类型说明

4.4 js中数据类型的转换

4.5 强制数据类型转换

5,运算符

5.1 算术运算符

5.2 比较运算符

5.3 条件运算符

5.4 逻辑运算符

5.5 字符串运算符

5.6 赋值运算符

5.7  运算符优先级

6,流程控制语句

6.1 流程控制语句的概念

6.2 执行顺序

6.3 选择执行顺序(分支条件语句)

6.4 循环语句

6.5 死循环

6.6 终止循环语句

7,函数

7.1 函数概念

7.2 函数特点

7.3 函数的定义方式(重点)

7.4 函数的参数

7.5 函数的返回值(重点,难点)

7.6 return和三种输出方式的选用

7.7 变量的作用域(重点)

7.8 内置函数

8,数组

8.1 数组分类

8.2 一维数组的概念以及作用

8.3 数组的组成

8.4 一维数组的定义方式(重点)

8.5 数组初始化数据

8.6 数组的基本操作

8.7 一维数组的注意事项

8.8 数组的遍历

8.9 二维数组

9,对象

9.1 对象的概念

9.2 定义对象的方式(重点)

9.3 给对象添加属性和方法(初始化对象)

9.4 访问对象的属性和方法

9.5  方法中this的基本使用以及示例

9.6  内存分布说明

9.7 对象的遍历

9.8  包装对象

9.9  字符串对象的属性和方法基本使用

9.10  字符串对象的替换截取

9.11 Number对象(面试)

9.12 Math对象(有重点)

9.13 Date对象

10,BOM

10.1 BOM的理解

10.2 window对象

10.3 定时器(重点中的重点)

10.4 BOM其他对象

11,DOM

11.1 DOM概念

11.2 通过ID的值来获取元素对象

11.3 通过标签名来获取元素对象

11.4 通过类名来获取元素对象

11.5 HTML5获取元素对象的方法(掌握)

11.6 获取HTML节点和body节点(掌握)

11.7 DOM节点操作

11.8 innerHTML与innerText的区别

11.9  事件的概念及四要素

11.10 注册事件的方式


1,JavaScript简介

1.1 什么是JavaScript?

基于对象和时间驱动,并且具有相对安全的解释型的客户端脚本语言

目前所学原生js 为ECMAScript(ES5) 实际使用最多的为ES6

1.2 为什么要学JavaScript?

1,网页离不开js

2,主流浏览器都支持js

3,在网页中添加交互效果,增强用户体验

1.3 JS组成

1,ECMAScript 表示js基础语法(变量,流程控制,函数,数组,对象等)

2,BOM: 浏览器对象模型----操作浏览器

3,DOM:文档对象模型----操作网页

2,JavaScript入门

2.1 实现js效果的两个步骤

1,引入js(三种)

2,输出内容(三种)

2.2 js的三种引入方式(重点)

1,内嵌式:相当于css的内部式,一般用于调试

语法:<script> js代码; </script>

2,外链式:相当于css的外部式,一般用于项目中

语法:<script src="./a.js"></script>

3,通过事件属性引入(了解)

语法:<标签名 事件属性=“js代码”></标签名>

例如:onclick 点击事件

<div onclick="alert('你好')" style="width: 150px;height: 150px;background-color: blueviolet"></div>

2.3 js的三种输出方式 (重点)

1,网页输出

语法:document.write("输出的内容");

注意:可以输出纯文本和带标签的内容

2,弹出框输出

语法:alert("输出的内容");

注意:输出的都是纯文本

3,控制台输出(重点中的重点)

打开控制台方式:F12/ ctrl+shift+i

语法:console.log("输出的内容1","输出的内容2");

注意:可以输出多个内容,用逗号分隔

4,以上三种方式用于后期调试代码

3,变量

3.1 什么叫变量

变化的数据

3.2 变量的定义方法

1,定义变量(var(ES5)  let(ES6)  const)

2,给变量赋值

3,定义变量的同时,并赋值

3.3 三种定义变量方式的区别

ES5  var 定义变量的关键字,一般情况下可以和let互换

ES6  let :块级作用域,再次针对已经定义好的变量,不能再次使用let

const:表示常量(不变的量)定义变量时必须赋值,后期不能修改

3.4 使用一个关键字定义多个变量

单个变量 var age=20;

使用一个var定义多个变量:多个变量之间使用逗号分隔 var a=b=10,c=2;

3.5 js中命名规则---重点

1,不能使用中文命名(服务器不识别中文)

2,可以使用数字,字母(大小写),下划线,$

3,数字不能作为开始的字符

4,建议都使用对应含义的英文单词

5,不能使用保留字和关键字

6,驼峰命名法(大小驼峰 大 每个英语单词首字母大写 小 除了第一个都大写)

7,不能使用特殊字符

4,JavaScript中的数据类型

4.1 为什么分类?

1,节约内存资源

2,只有想同类型的数据才能进行运算

4.2 数据类型的分类?(面试)

1,基本数据类型

2,引用数据类型

3,面试题 : js中有几种数据类型

ES5  5个基本数据类型(Number String Boolean Undefined Null)  3个引用数据类型(函数  数组  对象)

ES6  6个基本数据类型(Number String Boolean Undefined Null  Symbol(唯一))  1个引用数据类型( 对象)

4.3 基本数据类型说明

1,Number ()数字类型

分类:整数,小数,特殊值(NaN  not  a number)

面试题:NaN  ==NaN  (错误)

2,String()  字符串类型

3,Boolean ()  布尔类型

执行结果为TRUE或者FALSE

4,Undefined   未定义

表示定义一个变量未赋值,默认为undefined

5,Null 空对象

主要用于释放内存的工具

6,查看数据类型的方式

语法:typeof  变量/值

示例   let a=12;

console.log(a,typeof a)

输出结果   12 'number'

4.4 js中数据类型的转换

1,为什么要转换?

同种数值类型才能运算

2,类型转换的分类  共两类

1,强制类型的转换----重点

2,自动类型转换

4.5 强制数据类型转换

1,将其他类型转number相关类型

(1) 转换为整数

语法:parseInt(变量);

注意:

1,只有首字符以连续数字开头,转换后得到具体的值,其它字符串得到是NaN

2,除以上情况,其它类型转换后,都得到NaN

(2)转换为小数

语法:parseFloat(变量);

注意:同上

2,将其他类型转boolean相关类型

                3,将其他类型转string相关类型

5,运算符

5.1 算术运算符

+   -   *   /    %    ++    --

5.2 比较运算符

==(只比较大小)     !=    >   >=    <    <=      ===(全等于(比较大小也比较数据类型))       !==(不全等)

5.3 条件运算符

(expr1)?(expr2) :(expr3)

5.4 逻辑运算符

&&     ||    !

5.5 字符串运算符

+

5.6 赋值运算符

=     +=   -=     *=    /=    %=

5.7  运算符优先级

一般使用()提高运算级

6,流程控制语句

6.1 流程控制语句的概念

是一个指令,主要用于控制程序执行的先后顺序

6.2 执行顺序

默认执行顺序:逐行执行,从上到下,从左到右

选择执行顺序:给定判定条件(if)

重复执行顺序:会重复执行指定的代码,除非条件不满足,才会终止

6.3 选择执行顺序(分支条件语句)

1,单分支

作用:只有一个选择

语法:if(条件A){  满足A的代码块   }

2,双分支

作用:二选一

语法:if(条件A){  满足A的代码块   }  else{   条件A不成立的时候 }

3,多分支

1,if语句

语法:if(条件A){ 满足A的代码块 }  else if(条件B){ A不满足,满足B的代码块 }......else{  以上条件都不满足  }

2,switch......case

6.4 循环语句

1,为什么使用循环语句?

1,减少代码冗余

2,方便后期维护

2,循环四要素?

初始循环变量,循环判定条件,步长,循环体

3,for循环的基本语法

for(初始循环变量;循环条件;更新循环变量){  循环体; }

6.5 死循环

语法:for(;;){代码块}

6.6 终止循环语句

break:终止本次循环,并结束后面所有的循环

continue:表示终止这次循环,开始下一次循环

7,函数

7.1 函数概念

封装的一个方法,封装的一个概念

7.2 函数特点

必须要调用,可以调用多次

7.3 函数的定义方式(重点)

1,声明式:通过关键字function指定函数方式

2,表达式:将一个匿名函数赋给一个变量,变量名相当于函数名

例如:let   变量名=function(){   函数体  }

7.4 函数的参数

7.4.1 函数参数的定义方式

声明式:function 函数名 (形参1,形参2.....){  函数体;}

表达式:let   变量名=function(形参1,形参2.....){   函数体  }

7.4.2 调用

函数名/变量名(实参1,实参2.....);

7.4.3 注意

1,形式参数,只是一个占位符,相当于函数中内部定义的局部变量

2,实际参数,表示实际传入的参数

3,形参与实参必须一一对应

7.5 函数的返回值(重点,难点)

7.5.1 函数返回值定义语法

声明式:function 函数名 (形参1,形参2.....){  函数体; return 函数的执行结果;}

表达式:let   变量名=function(形参1,形参2.....){   函数体;return 函数的执行结果;    }

7.5.2  注意

1,return只能在函数中使用

2,return一般位于函数中功能代码之后

3,如果一个函数中需要返回不同的结果,一般使用if语句来判断输出

4,每一个return只返回一个值,如果需要返回多个值,需要使用数组形式

7.6 return和三种输出方式的选用

1,使用return的情况

1,题干中有返回值,执行结果....字符,一定不用return

2,函数的执行结果需要参与其他运算或者其他程序使用,一定使用return

2,使用三种输出方式的情况

1,题干中有  输出,打印,.....字符 ,一定使用三种输出方式之一

2,输出内容为字符串类型,一般使用三种输出方式之一

3,在函数中已经使用了return,需要查看执行结果,一般使用三种输出方式之一

7.7 变量的作用域(重点)

7.7.1 分类

全局变量:定义在函数外部的变量

局部变量:定义在函数内部的变量,只供当前函数使用

7.7.2  注意

在函数内部定义变量时,如果不加关键字var let const  ,此时变量会提升为全局变量

7.7.3 为什么使用变量的作用域

防止变量重名

7.8 内置函数

7.8.1 概念

在js中已经定义好的函数,不需要后期再次定义,直接使用即可

7.8.2 有哪些?

Number(),Boolean(),parseInt(),isNaN()(主要用于判断值是否为字符串)

8,数组

8.1 数组分类

一维数组和二维数组

8.2 一维数组的概念以及作用

概念:是一组数据有序排列的组合

作用:主要用于保存大批量数据

8.3 数组的组成

1, 数组名:表示整个数组

2,数组的元素:表示组成数组的每一个元素

3,数组的索引(下标):表示每一个数组元素对应的编号

4,数组的长度:表示组成数组元素的总个数

语法:数组名.length;

最大索引值=数组名.length-1

数组的长度:最大索引值+1

5,访问数组的具体元素

数组名[索引值];

8.4 一维数组的定义方式(重点)

1,使用new字符定义(实例化数组)

语法:let 数组名=new Array();

2,使用字面量(常量)定义-------重点

语法:let  数组名=[];

8.5 数组初始化数据

1,在创建数组的同时给值

let   数组名=new  Array(1,2,3,4);

let   数组名=['1','2','3','4'];

2,通用操作方法

通过对应的索引值设置数据

let a=new Array();a[0]='lisa';a[1]='女';

8.6 数组的基本操作

1, 获取整个数组

2,获取数组的某个具体元素

3,获取数组的长度

4,获取数组的最大索引

8.7 一维数组的注意事项

1,获取不存在的索引的值:值为undefined

2,使用new字符定义数组,只给一个数字,表示数组的长度

3,使用字面时,最后一个元素后面不能有逗号

4,数字可以保存所有的数据类型

8.8 数组的遍历

for循环

for(let i=0;i<数组名.length;i++)

forEach循环

数组名.forEach(function(value,index){

value:表示第一个数组;

index:表示对应元素的索引值   });

  let a=new Array();a[0]='lisa';a[1]='女';// document.write(a);a.forEach(function(value,index){document.write(`${value}对应的索引值为=====》${index}`);});

8.9 二维数组

8.9.1 二维数组的遍历

双层for循环

for(let i=0;i<arr.length;i++)

for(let j=0;j<a[i].length;j++)

8.9.2 数组的内置方法

1,arr.concat(数组元素,数组元素。。)  表示连接两个或者多个数组(元素)有返回值

2,arr.join(连接符号);  把制定数组按照符号进行分割(默认以逗号分割)

3,arr.push(新元素);   向数组中添加新元素,并返回新的长度

9,对象

9.1 对象的概念

一组属性和方法的集合,js中一切万物即对象,对象是一种引用类型

9.2 定义对象的方式(重点)

9.2.1 对象的分类

自定义对象,内置对象

9.2.2 定义

(1)使用new字符

let obj =new Object();

(2)   使用字面量(重点)

let  obj={};

9.3 给对象添加属性和方法(初始化对象)

方式一:

属性:对象名.属性名=值;

方法:对象名.方法名=function(){   }

方式二:只针对字面量添加属性和方法

属性:属性名:属性值

方法:ES5   方法名:function(){   };

ES6   方法名(){    };

    let car={color:"red",brand:"丰田",run(){console.log("速度很快");}};

9.4 访问对象的属性和方法

访问对象:对象名

访问对象的属性:对象名.属性名

访问对象的方法: 对象名.方法名()

9.5  方法中this的基本使用以及示例

一般用于表示当前对象,谁调用就指向谁(ES6中this对象指向window)

<script>//公用方法function sayName(){console.log("我是"+this.name)}let juer={name:"juer",// say:function(){//     console.log("我叫juer");// }say:sayName}let xiaowang={name:"xaiowang",// say:function(){//     console.log("我叫xaiowang");// }say:sayName}juer.say();xiaowang.say();</script>

9.6  内存分布说明

作用:主要用于后期数据保存的位置说明,js性能优化问题

分类:堆区  栈区

栈区:通常保存基本数据类型

堆区:一般保存引用数据类型(大小不固定)

9.7 对象的遍历

语法:for ...... in循环

<script>//定义对象let person={name:"lisa",age:19,sex:"女",fn:function(){console.log("1111");},fn2(){console.log("2222");}}//对象遍历for (const key in person) {console.log(person[key])}</script>

9.8  包装对象

作用:把基本类型包装成引用类型

目的:把基本类型转换为引用类型(对象)===> 使用对象中的属性和方法

如:

基本类型   let a='asnbjdkfh';

引用类型   let  str=new  String('asnbjdkfh');

9.9  字符串对象的属性和方法基本使用

属性:str.lenght  计算字符串长度

方法:str.charAt(索引值)  查看指定索引的值

str.indexOf(子串,索引值);  表示从指定索引值开始查找子串首次出现的位置,返回找到的索引,没有找到返回值为-1

str.lastIndexOf(子串,索引值)  顺序倒着找,索引顺着

9.10  字符串对象的替换截取

str.replace(旧字符,新字符)

str.substr(开始索引值,结束索引)

9.11 Number对象(面试)

对象.toFixed(保留几位小数)

面试题:0.1+0.2=0.30000000000000004(js对数字保留精度不够)

9.12 Math对象(有重点)

Math.ceil(x)   向上取整

Math.floor(x)  向下取整

Math.random()   返回0~1之间的随机数  左闭右开

Math.round(x)  四舍五入

获取指定范围内的随机整数  [20,30]

 function randomInt(min,max){return Math.floor(Math.random()*(max-min+1))+min}

9.13 Date对象

创建时间

(1)以电脑系统时间创建  let   date=new Date()

(2)   以过去或者未来的一个时间点创建时间  let   date=new Date('时间格式')

时间格式  2022-1-30 00:00:00/2022/1/30 00:00:00

10,BOM

10.1 BOM的理解

BOM 不是一个具体的对象,而是由很多的对象组合而成的对象,DOM对象是BOM对象的子集

10.2 window对象

1,window对象是顶级对象

2,所有全局变量会挂到window对象中作为属性存在,函数会作为window的方法存在

10.3 定时器(重点中的重点)

作用:一般用于网页中时间相关操作,连续动画效果

分类:间歇调用(周期定时器)

可以执行多次,表示每隔多少毫秒执行一次

语法:设置定时器: setInterval(执行函数,时间(毫秒))

清除定时器:clearInterval(定时器ID)

注意:每个定时器会生成一个唯一的ID值

    超时调用(超时定时器)

                                表示多少毫秒后执行一次指定的函数/函数名(只执行一次)

语法:设置:setTimeout(执行函数,时间(毫秒))

清除:clearTimeout(定时器ID)

    <script>//每隔一秒在网页中输出一个数字let num=0;//开启定时器let id=setTimeout(fn,1000);function fn(){num++;document.write("我爱你<br>");id=setTimeout(fn,1000)//清除定时器if(num==10){clearTimeout(id);}}</script>

10.4 BOM其他对象

     10.4.1 screen(屏幕)对象

属性:screen.属性

方法:screen.方法名()

10.4.2 history 历史对象(掌握)

作用:操作浏览器的历史记录

属性:length  获取历史记录的长度

方法:forward()相当于前进

back()   表示后退

go(n)   相当于跳转到第几个  可以给正数表示前进,负数表示后退

10.4.3 location对象

URL:全球统一资源定位符

URI: 全球统一资源标识符

获取:location.href

设置:location.href=值

10.4.4 navigator对象

作用:主要用于早期PC页面和手机页面的展示

<script>let nav=navigator.userAgent.toLowerCase();if(nav.indexOf('chrome')!=-1){document.write("您当前的浏览器为:谷歌");}
</script>

11,DOM

11.1 DOM概念

所有的HTML文档都以树形结构构成,DOM就是树节点

名词:1,整个HTML文档,文档节点  document

2,所有的HTML标签,叫元素节点  element

3,标签的属性,叫属性节点  attribute

4,标签的内容,叫文本节点   text

11.2 通过ID的值来获取元素对象

语法:document.getElementById(‘id的值’)

注意:id具有唯一性,只有id能获取到对应的标签

11.3 通过标签名来获取元素对象

语法:document.getElementsByTagName(‘标签名’)

obj.getElementsByTagName(‘标签名’)//指定对象获取的所有指定标签名的标签

注意:获取的数组为伪数组的形式,数组不能直接使用必须通过数组的方式获取元素

11.4 通过类名来获取元素对象

语法:document.getElementsByClassName(‘类名’)

obj.getElementsByClassName(‘类名’)

注意:获取的数组为伪数组的形式,数组不能直接使用必须通过数组的方式获取元素,IE9以下有兼容问题

11.5 HTML5获取元素对象的方法(掌握)

语法:document.querySelector(‘选择器’)//获取整个网页第一个指定选择器的标签

document.querySelectorAll(‘选择器’)//获取整个网页所有指定选择器的标签

11.6 获取HTML节点和body节点(掌握)

获取HTML节点语法

 let htmldom=document.documentElement;console.dir(htmldom);console.log(htmldom.clientHeight);

获取body节点

 let bodydom=document.body;console.dir(bodydom);console.log(bodydom.clientHeight)

11.7 DOM节点操作

实际主要学习CRUD操作

11.7.1  获取元素对象

document.getElementById()  获取具体的标签

document.getElementsByClassName()  伪数组

document.getElementsByTagName()    伪数组

h5

document.querySelector(选择器)  第一个具体的标签

document.querySelectorAll(选择器)         伪数组     ·

11.7.2  查询----有bug

子节点.parentNode   子节点找父节点

父节点找第一个子节点

父节点.firstElementChild(此种方式无bug)

父节点.firstChild  有bug  获取到的节点为文本节点

父节点找最后一个子节点

父节点.lastElementChild

父节点.lastChild  有bug  获取到的节点为文本节点

11.7.3 创建节点(重点)

步骤

1,创建一个标签

语法:document.createElement('标签名')

2,添加属性

语法:方式一:元素对象.setAttribute('属性名','属性的值');

方式二:元素对象.属性名=值;

注意:如果创建为类,必须写为className

3,添加内容

语法:元素对象.innerHTML=值;

  let div=document.createElement('div');// 添加属性div.className='big';//添加内容div.innerHTML='这是一个盒子';console.log(div)

11.7.4 增加元素

1,在父节点中所有的子节点后添加新节点

语法:父节点.appendChild(新节点);

2,在同级兄弟节点之前添加新节点

语法:父节点.insertBefore(新节点,同级兄弟节点);

<body><ul id="father"><li>这是li1</li><li>这是li2</li><li id="three">这是li3</li><li>这是li4</li><li>这是li5</li></ul>
</body>
<script>
let li=document.createElement('li');// 添加属性li.setAttribute('id','test');//添加内容li.innerHTML='这是一个li';//追加father.appendChild(li);father.insertBefore(li,three);
</script>

11.7.5 修改节点(掌握)

语法:父节点.replaceChild(新节点,旧节点)

11.7.6 删除节点(重点)

语法:父节点.removeChild(删除的元素)

11.7.7 删除所有节点

1,普通循环删除有bug,循环内部换为父节点.removeChild(sons[0]),默认只删除第一个元素,防止元素替位

2,倒着删除(循环j--)

11.8 innerHTML与innerText的区别

1,innerHTML(推荐使用)

读:元素对象.innerHTML

写:元素对象.innerHTML=值

注意:innerHTML可以用于设置或获取  纯文本或者带标签的内容

2,innerText

读:元素对象.innerText

写:元素对象.innerText=值

注意:只能设置或获取  纯文本

11.9  事件的概念及四要素

概念:用户和网页交互的方法

常见的事件类型:鼠标事件,窗口事件,表单事件,键盘事件,触摸事件等

事件四要素:事件源,事件类型,事件处理函数,事件对象

11.10 注册事件的方式

1,通过标签上的事件属性注册

语法:<元素名 事件类型=“事件处理函数”></元素名>

缺点:HTML和js没有分离,不利于后期维护及更新

2,通过元素对象来注册

语法:元素对象.事件类型=function(){   }

元素对象.事件类型=fn;

function fn(){     }

优点:HTML和js分离

缺点:同类型的事件只能注册一次

3,使用事件侦听(重点)

语法:元素对象.addEventListener(‘不带on的事件类型’,事件处理函数)

JavaScript基础语法相关推荐

  1. javascript基础语法——表达式

    前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详 ...

  2. javascript基础语法——词法结构

    前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javasc ...

  3. web前端学习:1分钟了解JavaScript基础语法规则

    俗话说,"无规矩不成方圆".用在计算机语言上也同样使用.每种计算机语言都有自己的语法规则,只有遵循语法规则才能写出符合要求的代码.JavaScript也不例外,在使用JavaScr ...

  4. html5扩展函数的使用方法,知识分享:JavaScript基础语法

    知识分享:JavaScript基础语法 原创 mb5fd868d58f1472021-01-22 16:52:56©著作权 阅读数 41 ©著作权归作者所有:来自51CTO博客作者mb5fd868d5 ...

  5. 【Javascript基础语法】第五周预习博客

    Javascript基础语法 前言 一.初识JavaScript 1.JS是什么 2.作用 3.浏览器执行js简介 4.Js组成 二.JS的引入方式 1.行内式 2.内部引入 3.外部引入 三.js语 ...

  6. 前端技术学习第三讲:JavaScript基础语法

    JavaScript基础语法 JavaScript(简称"JS") 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.虽然它是作为开发Web页面的脚本语言而出名,但是它也被 ...

  7. JavaScript基础语法(一)

    目录 前言 js变量 数据类型 数据类型转换 传送门 --> JavaScript基础语法(二).JavaScript之数组与函数(三).JavaScript之对象(四).JavaScript阶 ...

  8. RUNOOB JavaScript 基础语法

    JavaScript 基础语法 JavaScript 的特点: JavaScript是一种动态类型.弱类型.基于原型的解释型脚本语言 动态类型:变量在声明时不需要声明类型,在运行时根据被赋值类型进行转 ...

  9. JavaScript作业1(实验1:Javascript基础语法)

    1.判断今年是否闰年. <!DOCTYPE html> <html lang="en"><head><meta charset=" ...

  10. JavaScript 基础语法循环案例练习

    JavaScript 基础语法循环案例练习 文章目录 JavaScript 基础语法循环案例练习 前言 一.早午晚安喵喵喵 二.判断奇偶数 三.班长请客 四.1-100跳过个位为3的数求和 五.第几个 ...

最新文章

  1. html下拉框由后端,select下拉框通过ajax获取后台的值
  2. 基于KNN的相关内容推荐
  3. water-and-jug-problem
  4. mysql单引号和双引号
  5. c语言数据结构-算法篇之冒泡排序
  6. npm-卸载并安装指定版本Angular CLI以及报错(npm ERR! Error: EACCES: permission denied)
  7. Qt工作笔记-视图(QGraphicsView)的放大和缩小(通过滚轮)
  8. day028 Tcp和Udp协议
  9. 【自用】手工编译lnmp环境
  10. pycharm 里面配置pip,安装库
  11. java 偏向锁_Java 中的偏向锁、轻量级锁和重量级锁
  12. 高翔orbslam_ORB SLAM 2 + 构建点云地图 复现
  13. firebug下载时出现there was an error loading firebug
  14. 快递柜项目,面向对象
  15. Image Retrieval using Scene Graphs ——基于场景图的图像检索 读书笔记
  16. jenkins 日常踩坑 和 瞎扯解决办法
  17. 基于fastadmin的工业园区科技园水电费管理系统
  18. eve-ng模拟器安装在部署使用
  19. egou 怎么实现订单跟踪的[伤心,发了4天没有一个回复]??
  20. 中国联通北斗国星卡,终身免话费+流量费,网友:全都是套路

热门文章

  1. STM32H743 USART1 LL 库
  2. 电脑开机后过一会就关机自动重启
  3. Python 获取本周、上周、下周周一、周天的日期
  4. 1+X计算机视觉考证一些知识点
  5. 逻辑回归分类——信用卡诈骗检测!这才是干货!
  6. 学习使用php的stripslashe()函数去除反斜杠
  7. SQL(11)_FOREIGN KEY 约束
  8. Eclipse添加代码自动补全+对齐功能
  9. 如何用python做计算_如何用Python做些基本的数学运算
  10. html间超链接怎么做,超链接怎么做