介绍

JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

JavaScript特点

  • JavaScript 是一门脚本语言。
  • JavaScript 是一种轻量级的编程语言。
  • JavaScript 是可插入 HTML 页面的编程代码。
  • JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
  • JavaScript 很容易学习。

JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。

年份名称描述
1997ECMAScript 1第一个版本
1998ECMAScript 2版本变更
1999ECMAScript 3添加正则表达式 
添加 try/catch
 ECMAScript 4没有发布
2009ECMAScript 5添加 "strict mode",严格模式
添加 JSON 支持
2011ECMAScript 5.1版本变更
2015ECMAScript 6添加类和模块
2016ECMAScript 7增加指数运算符 (**)
增加 Array.prototype.includes

用法

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

通常,我们需要在某个事件发生时执行代码,比如当用户点击按钮时。如果我们把 JavaScript 代码放入函数中,就可以在事件发生时调用该函数。

实例1:head中的script函数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>head标签中script</title><script>function myFunction() {document.getElementById("demo").innerHTML = "这是我的函数";}</script>
</head>
<body>
<h1>我的函数</h1>
<p id="demo">一段话</p>
<button type="button" onclick="myFunction()">这是函数</button>
</body>
</html>

实例2:body中的script函数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>body中的script</title>
</head>
<body>
<h1>我的函数</h1>
<p id="demo">我的函数</p>
<button type="button" onclick="myFunction()">点击一下</button>
<script>function myFunction() {document.getElementById("demo").innerHTML = "这是我的函数"}
</script>
</body>
</html>

JavaScript也可以放在外部供调用,注意外部拓展名为.js。

实例3:外部调用JavaScript

外部调用.js

function myFunction() {document.getElementById('demo').innerHTML = "这是我的函数"
}

调用外部script

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>调用外部script</title>
</head>
<body>
<p id="demo">一段文字</p>
<button type="button" onclick="myFunction()">尝试一下</button>
<script src="外部脚本.js"></script>
</body>
</html>

输出

JavaScript 可以通过不同的方式来输出数据:

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

实例1:aler()弹窗输出

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>alert输出</title>
</head>
<body>
<h1>alert输出</h1>
<script>window.alert(5 + 6)
</script>
</body>
</html>

实例2:document.write()输出

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>document.write输出</title>
</head>
<body>
<h1>document.write输出</h1>
<script>document.write(Date());document.write("Hello,Web!");
</script>
</body>
</html>

实例3:写到HTMl文档

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>写到HTMl文档</title>
</head>
<body>
<h1>写到HTMl文档</h1>
<script>function myFunction() {document.write("函数输出");}
</script>
<button onclick="myFunction()">点击这里</button>
</body>
</html>

实例4:使用 console.log() 写入到浏览器的控制台

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>使用console.log()写入到浏览器的控制台</title>
</head>
<body>
<h1>console.log()写入到浏览器的控制台</h1>
<script >a = 5;b = 6;c = a + b;console.log(c)
</script>
</body>
</html>

语法介绍

JavaScript 是一个脚本语言,它是一个轻量级,但功能强大的编程语言。

字面量

在编程语言中,一般固定值称为字面量。

  • 数字(Number)字面量:可以是整数或者是小数,或者是科学计数(e)。如3.14,5.88等。
  • 字符串(String)字面量:”可以使用单引号或双引号。如"Hello","Web"等
  • 表达式字面量:用于计算的固定值。3 + 2.2,3.14 * 2等。
  • 数组(Array:字面量:定义一个数组。如[1,2,3,4,5,6]。
  • 对象(Object:字面量:定义一个对象。如{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}。
  • 函数(Function)字面量:定义一个函数。如function myFunction(a, b) { return a * b;}。

注意,在JavaScript中,语句需要加结束符“;”。

JavaScrip变量

在编程语言中,变量用于存储数据值。JavaScript 使用关键字var来定义变量, 使用等号来为变量赋值,变量之间可以相互操作:

var y = false                                     // 布尔值
var length = 16;                                  // 数字
var points = x * 10;                              // 数字计算
var lastName = "Johnson";                         // 字符串
var cars = ["Saab", "Volvo", "BMW"];              // 数组
var person = {firstName:"John", lastName:"Doe"};  // 对象字典

JavaScript函数

为了能够重复引用相同的功能,减少代码的书写和维护的方便,JavaScript提供函数功能,由关键字function引导:

function myFunc(a, b) {return a + b; // 返回a+b结果
}

JavaScript特点

相对其它语言,JavaScript具有下列特点:

  • JavaScript对大小写敏感。
  • JavaScript使用Unicode字符集。
  • JavaScript推荐使用驼峰命名法定义变量,命名避免关键字。
  • JavaScript属于弱类型语言,定义变量都是var关键字。
JavaScript关键字(按字母序)
abstractelseinstanceofsuper
booleanenumintswitch
breakexportinterfacesynchronized
byteextendsletthis
casefalselongthrow
catchfinalnativethrows
charfinallynewtransient
classfloatnulltrue
constforpackagetry
continuefunctionprivatetypeof
debuggergotoprotectedvar
defaultifpublicvoid
deleteimplementsreturnvolatile
doimportshortwhile
doubleinstaticwith

JavaScript注释(与Java相同)

// 这是代码:单句注释,在编辑器一般是ctrl + L键。

/* 这是代码 */:多行注释,在编辑器一般是ctrl + shift + L键。

语句

JavaScript语句向浏览器发出的命令,告诉浏览器该做什么。下面的JavaScript语句向id="demo"的 HTML元素输出文本"Hello World!" :

document.getElementById("demo").innerHTML = "Hello World!";

与Python不同的是,JavaScript代码块都是在大括号中的,这点像极了Java。

Java标识符

常见JavaScript标识符
语句描述
break用于跳出循环。
catch语句块,在 try 语句块执行出错时执行 catch 语句块。
continue跳过循环中的一个迭代。
do ... while执行一个语句块,在条件语句为 true 时继续执行该语句块。
for在条件语句为 true 时,可以将代码块执行指定的次数。
for ... in用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function定义一个函数
if ... else用于基于不同的条件来执行不同的动作。
return退出函数
switch用于基于不同的条件来执行不同的动作。
throw抛出(生成)错误 。
try实现错误处理,与 catch 一同使用。
var声明一个变量。
while当条件语句为 true 时,执行语句块。

大部分语言能够自动补全空格,我们建议在运算符两边加上空格,这样清晰美观,但是要注意在HTML中空格的是要留意用法的,切勿混谈。在JavaScript中,下面两句话是一样的:

var a = 10;
var b=10;

与Python相似,JavaScript也是脚本语言,属于解释型。

对象

定义对象

任何事物都是对象,具有相同特点的事物中抽象出来的一个特点实例。如人类中的小明。

在JavaScript中,对象就是是属性变量的容器,类似Python中的字典,Java中的哈希映射,其中定义了对象的属性。

var people = {firstName: "Mike",lastName: "Smith",age: "18",address: "Beijing",job: "Student"
};

以上就是对象定义,当然你也可以写作一行,我这样是为了美观,以后也强烈大家这样写。

访问对象属性

可以说 "JavaScript 对象是变量的容器"。但是,我们通常认为 "JavaScript 对象是键值对的容器"。键值对通常写法为key : value(键与值以冒号分割),键值对在JavaScript对象通常称为对象属性。我们访问属性也是通过万能的" . "(大部分语言都是用的这个)。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>这是网站</title>
</head>
<body>
<h1>访问类属性</h1>
<!--下面语句一定要在script之前-->
<p id="demo"></p>
<script>var people = {firstName: "Mike",lastName: "Smith",age: "18",address: "Beijing",job: "Student"};document.getElementById("demo").innerHTML =people["firstName"] + "." + people.lastName;
</script>
</body>
</html>

两种访问方式,你可以使用 对象名 .property 或 对象名.["property"] 。

函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。当调用该函数时,会执行函数内的代码。可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

参数与返回值

在调用函数时,您可以向其传递值,这些值被称为参数,参数个数不限。

function myFunction(var1,var2)
{
代码
}

参数在调用时,应该严格按照其顺序传参,如下所示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>这是一个JavaScript网站</title>
</head>
<body>
<h1>函数参数传递问题</h1>
<p>点击下面按钮调用</p>
<button onclick="myFunc('Mike','18','Beijing')">点击这里</button>
<script>function myFunc(name, age, address) {alert("My name is " + name + ", age is " + age + " and my home is in " + address);}
</script>
</body>
</html>

JavaScript函数允许有返回值,返回关键字为return。当函数返回值后,函数将停止执行,在return后面的语句将不会被执行。

实例:计算两个数的乘积并返回结果

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>JavaScript网站</title>
</head>
<body>
<h1>计算两个数的值返回</h1>
<p id="demo"></p>
<script>function myFunc(a, b) {return a * b;}document.getElementById("demo").innerHTML = myFunc(3, 4);
</script>
</body>
</html>

变量

JavaScript变量分为两种:

  • 全局变量:在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
  • 局部变量:在JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。

当我们向未声明的JavaScript变量分配值时,该变量将被自动作为window的一个属性。如下列语句:

name = "Mike";

将声明window的一个属性name。非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。如:

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性console.log(this.var1); // 1
console.log(window.var1); // 1delete var1; // false 无法删除
console.log(var1); //1delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义

事件

描述

HTML事件是发生在HTML元素上的事情。当在 HTML 页面中使用JavaScript时, JavaScript可以触发这些事件。

HTML事件可以是浏览器行为,也可以是用户行为。以下是HTM 事件的实例:

  • HTML 页面完成加载
  • HTML input 字段改变时
  • HTML 按钮被点击

通常,当事件发生时,你可以做些事情。在事件触发时JavaScript可以执行一些代码。HTML元素中可以添加事件属性,使用JavaScript代码来添加HTML元素。

  • 单引号:<some-HTML-element some-event='JavaScript 代码'>
  • 双引号:<some-HTML-element some-event="JavaScript 代码">
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>JavaScript事件</title>
</head>
<body>
<h1>JavaScript事件处理两种方式</h1>
<p id="demoOne"></p>
<button onclick="getElementById('demoOne').innerHTML=Date()">点击查看时间1</button>
<p id="demoTwo"></p>
<button onclick="this.innerHTML=Date()">点击查看时间2</button>
</body>
</html>

JavaScript通常是多行代码,比较差常见的就是通过事件属性调用。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>JavaScript事件</title>
</head>
<body>
<h1>JavaScript事件之属性调用</h1>
<p>点击执行<em>myFunc()</em>函数</p>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {document.getElementById("one").innerHTML = Date();}
</script>
</body>
</html>
常见HTML事件
事件描述
onchangeHTML 元素改变
onclick用户点击 HTML 元素
onmouseover用户在一个HTML元素上移动鼠标
onmouseout用户从一个HTML元素上移开鼠标
onkeydown用户按下键盘按键
onload浏览器已完成页面的加载

后续会继续学习更多事件。

事件作用

事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

  • 页面加载时触发事件
  • 页面关闭时触发事件
  • 用户点击按钮执行动作
  • 验证用户输入内容的合法性

可以使用多种方法来执行 JavaScript 事件代码:

  • HTML 事件属性可以直接执行 JavaScript 代码
  • HTML 事件属性可以调用 JavaScript 函数
  • 你可以为 HTML 元素指定自己的事件处理程序
  • 你可以阻止事件的发生

字符串

字符串:一系列字符的集合。

var a = "abc";
var b = "Hello";

与Python类似,可以使用索引来访问字符串中的每个字符:

var c = b[1];           // e

length

该属性可以计算字符串的长度。

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>字符串长度</title>
</head>
<body>
<script>var txtOne = "Hello World!";document.write("<p>" + txtOne.length + "</p>");var txtTwo = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";document.write("<p>" + txtTwo.length + "</p>");
</script>
</body>
</html>

JavaScript也有一些特殊字符,例如当我们要打印引号时,需要加上“\”来进行转义,否则编译器无法解析。

JavaScript常见特殊字符
代码输出
\'单引号
\"双引号
\\反斜杠
\n换行
\r回车
\ttab(制表符)
\b退格符
\f换页符

字符串作为对象

通常,JavaScript字符串是原始值,可以使用字符创建: var firstName = "Mike",但我们也可以使用new关键字将字符串定义为一个对象:var firstName = new String("Mike"),这点与Java类似。

字符串常见属性
 属性描述
constructor返回创建字符串属性的函数
length返回字符串的长度
prototype允许您向对象添加属性和方法
字符串常见方法
方法描述
charAt()返回指定索引位置的字符
charCodeAt()返回指定索引位置字符的 Unicode 值
concat()连接两个或多个字符串,返回连接后的字符串
fromCharCode()将 Unicode 转换为字符串
indexOf()返回字符串中检索指定字符第一次出现的位置
lastIndexOf()返回字符串中检索指定字符最后一次出现的位置
localeCompare()用本地特定的顺序来比较两个字符串
match()找到一个或多个正则表达式的匹配
replace()替换与正则表达式匹配的子串
search()检索与正则表达式相匹配的值
slice()提取字符串的片断,并在新的字符串中返回被提取的部分
split()把字符串分割为子字符串数组
substr()从起始索引号提取字符串中指定数目的字符
substring()提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()把字符串转换为小写
toString()返回字符串对象值
toUpperCase()把字符串转换为大写
trim()移除字符串首尾空白
valueOf()返回某个字符串对象的原始值

==与===区别

1、对于 string、number 等基础类型,== 和 === 是有区别的

  • a)不同类型间比较,==之比较"转化成同一类型后的值"看"值"是否相等,===如果类型不同,其结果就是不等。
  •  b)同类型比较,直接进行 "值" 比较,两者结果一样。

2、对于 Array,Object 等高级类型,== 和 === 是没有区别的

进行 "指针地址" 比较

3、基础类型与高级类型,== 和 === 是有区别的

  • a)对于 ==,将高级转化为基础类型,进行 "值" 比较
  •  b)因为类型不同,=== 结果为 false

4、!= 为 == 的非运算,!== 为 === 的非运算

var num=1;var str="1";var test=1;test == num   //true 相同类型 相同值 test === num  //true 相同类型 相同值 test !== num  //false test与num类型相同,其值也相同, 非运算肯定是false num == str   //true  把str转换为数字,检查其是否相等。 num != str   //false  == 的 非运算 num === str  //false  类型不同,直接返回false num !== str  //true   num 与 str类型不同 意味着其两者不等 非运算自然是true啦

运算符

JavaScript常见运算符(y=5)
运算符描述例子x 运算结果y 运算结果
+加法x=y+275
-减法x=y-235
*乘法x=y*2105
/除法x=y/22.55
%取模(余数)x=y%215
++自增x=++y66
x=y++56
--自减x=--y44
x=y--54
JavaScript常见赋值运算符(x=10,y=5)
运算符例子等同于运算结果
=x=y x=5
+=x+=yx=x+yx=15
-=x-=yx=x-yx=5
*=x*=yx=x*yx=50
/=x/=yx=x/yx=2
%=x%=yx=x%yx=0
JavaScript常见比较运算符(x=5)
运算符描述比较返回值
==等于x==8false
x==5true
===绝对等于(值和类型均相等)x==="5"false
x===5true
!= 不等于x!=8true
!== 不绝对等于(值和类型有一个不相等,或两个都不相等)x!=="5"true
x!==5false
> 大于x>8false
< 小于x<8true
>= 大于或等于x>=8false
<= 小于或等于x<=8true
<= 小于或等于x<=8true
JavaScript常用逻辑运算符(x=6,y=3)
运算符描述例子
&&and(x < 10 && y > 1) 为 true
||or(x==5 || y==5) 为 false
!not!(x==y) 为 true

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。如:

variablename=(condition)?value1:value2 

条件判断

在 JavaScript 中,我们可使用以下条件语句:

  • if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
  • if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
  • if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
  • switch 语句 - 使用该语句来选择多个代码块之一来执行

if语句

条件为true时才会执行代码。如:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>JavaScript网站</title>
</head>
<body>
<h1>这是if语句</h1>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {var x = "";var time = new Date().getHours();if (time < 20) {x = "Hello, Before 20:00";}document.getElementById("one").innerHTML = x;}
</script>
</body>
</html>

if...else语句

使用 if....else语句在条件为true时执行代码,在条件为false时执行其他代码。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>JavaScript网站</title>
</head>
<body>
<h1>这是if...else语句</h1>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {var x = "";var time = new Date().getHours();if (time < 20) {x = "Hello, Before 20:00";}else {x = "Hello, After 20:00";}document.getElementById("one").innerHTML = x;}
</script>
</body>
</html>

多重if..else语句

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>JavaScript网站</title>
</head>
<body>
<h1>多重if...else语句</h1>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {var x = "";var time = new Date().getHours();if (time < 12) {x = "上午好";} else if (time < 14) {x = "中午好";}else {x = "下午好";}document.getElementById("one").innerHTML = x;}
</script>
</body>
</html>

switch语句

使用switch语句来选择要执行的多个代码块之一。如:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>JavaScript网站</title>
</head>
<body>
<h1>switch语句</h1>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {var x = "";var time = new Date().getMonth();switch (time) {case 0:x = "January";break;case 1:x = "February";break;case 2:x = "March";break;case 3:x = "April";break;case 4:x = "May";break;case 5:x = "Jane";break;case 6:x = "July";break;case 7:x = "August";break;case 8:x = "September";break;case 9:x = "October";break;case 10:x = "November";break;case 11:x = "December";break;default:x = "ERROR";}document.getElementById("one").innerHTML = x;}
</script>
</body>
</html>

循环

JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

for循环

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>JavaScript循环</title>
</head>
<body>
<h1>点击按钮循环代码5次。</h1>
<button onclick="myFunc()">点击这里</button>
<p id="demo"></p>
<script>function myFunc() {var x = "";for (var i = 0; i < 5; i++) {x = x + "该数字为 " + i + "<br>";}document.getElementById("demo").innerHTML = x;}
</script>
</body>
</html>

fo /in循环

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body>
<p>点击下面的按钮,遍历对象person属性</p>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {let x;let text = "";const person = {firstName: "Bill",lastName: "Gates",age: 56};for (x in person) {text = text + " " + person[x];}document.getElementById("one").innerHTML = text;}
</script>
</body>
</html>

while循环

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body>
<p>点击按钮,i小于5就会打印输出</p>
<button onclick="myFunc()">点击这里</button>
<p id="one">显示在这里</p>
<script>function myFunc() {let x = "", i = 0;while (i < 5) {x = x + "这个数字为" + i + "<br>";i++;}document.getElementById("one").innerHTML = x}
</script>
</body>
</html>

do/while循环

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body>
<p>点击按钮,打印小于5的数</p>
<button onclick="myFunc()">点击这里</button>
<p id="one"></p>
<script>function myFunc() {let x = "";let i = 0;do {x = x + "该数字为" + i + "<br>";i++;}while (i < 5);document.getElementById("one").innerHTML=x;}
</script>
</body>
</html>

for循环和while循环比较

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>这是funcOne</p>
<button onclick="funcOne()">点击funcOne</button>
<p id="one">funcOne在这里</p><p>这是funcTwo</p>
<button onclick="funcTwo()">点击funcTwo</button>
<p id="two">funcTwo在这里</p><script>function funcOne() {numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];let i = 0;let addRes = 0;while (numbers[i]) {addRes += numbers[i];i++;}document.getElementById("one").innerHTML = addRes + "<br>";}function funcTwo() {numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];let i = 0;let mulRes = 1;for (; numbers[i];) {mulRes *= numbers[i];i++;}document.getElementById("two").innerHTML = mulRes + "<br>";}
</script></body>
</html>

Break和Continue

break 语句用于跳出循环。continue 用于跳过循环中的一个迭代。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body>
<p>这是continue和break语句</p>
<button onclick="funcOne()">点击funcOne</button>
<p id="one">这是funcOne</p>
<br>
<br>
<br>
<br>
<br>
<br>
<button onclick="funcTwo()">点击funcTwo</button>
<p id="two">这是funcTwo</p>
<script>function funcOne() {let x = "";let i = 0;for (i = 0; i < 10; i++) {if (i < 5) {break;}x = x + "该数字为" + i + "<br>";}document.getElementById("one").innerHTML = x;}function funcTwo() {let x = "";let i = 0;for (i = 0; i < 10; i++) {if (i === 8) {continue;}x = x + "该数字为" + i + "<br>";}document.getElementById("two").innerHTML = x;}
</script></body>
</html>

typeof、null和undefined

使用typeof操作符来检测变量的数据类型。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body>
<p id="one"></p>
<script>document.getElementById("one").innerHTML =typeof "john" + "<br>" +typeof 3.14 + "<br>" +typeof false + "<br>" +typeof [1, 2, 3, 4] + "<br>" +typeof {name: 'john', age: 34};</script></body>
</html>

在JavaScript中,数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object。 

null表示空,也就是”什么也没有“。当使用typeof 检测时,返回object。对象可以使用undefined来清空。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body>
<p>one:</p>
<p id="one"></p>
<p>two:</p>
<p id="two"></p><script>var person = {firstName: "Bill", lastName: "Gates", age: 50};var person = null;document.getElementById("one").innerHTML = typeof person;person = undefineddocument.getElementById("two").innerHTML = typeof person;
</script></body>
</html>

constructor属性

constructor属性返回所有JavaScript变量的构造函数。可以使用constructor属性来查看对象是否为数组或者是否为日期 (包含字符串 "Date")等。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>constructor属性返回变量或者构造函数</p>
<p id="one">HRER</p>
<script>document.getElementById("one").innerHTML ="Hello".constructor + "<br>" +3.14.constructor + "<br>" +false.constructor + "<br>" +[1, 2, 3].constructor + "<br>" +{name: "Hello", age: 18}.constructor + "<br>" +new Date().constructor + "<br>" +function () {}.constructor;
</script></body>
</html>

类型转换

JavaScript 变量可以转换为新变量或其他数据类型:

  • 通过使用JavaScript函数
  • 通过JavaScript自身自动转换
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>String()方法可以将数字转化为字符串</p>
<p id="one">HERE</p>
<p>toString()方法可以将数字转化为字符串</p>
<p id="two">HERE</p>
<script>let x = 123;document.getElementById("one").innerHTML =String(x) + "<br>" +String(123) + "<br>" +String(100 + 23);document.getElementById("two").innerHTML =x.toString() + "<br>" +(123).toString() + "<br>" +(100 + 123.2).toString();
</script></body>
</html>

一元运算符+

Operator+可用于将变量转换为数字:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><P>typeof操作符返回变量或者表达式类型</P>
<button onclick="myFuncOne()">CLICK HERE ONE</button>
<p id="one">HERE</p>
<button onclick="myFuncTwo()">CLICK HERE TWO</button>
<p id="two">HERE</p>
<script>function myFuncOne() {let y = "5";let x = +y;document.getElementById("one").innerHTML =typeof y + "<br>" + x + "<br>" + typeof x;}function myFuncTwo() {let a = "Hello";let b = +a;document.getElementById("two").innerHTML =typeof a + "<br>" + b + "<br>" + typeof b;}</script>
</body>
</html>
JavaScript类型转换
原始值转换为数字转换为字符串转换为布尔值
false0"false"false
true1"true"true
00"0"false
11"1"true
"0"0"0"true
"000"0"000"true
"1"1"1"true
NaNNaN"NaN"false
InfinityInfinity"Infinity"true
-Infinity-Infinity"-Infinity"true
""0""false
"20"20"20"true
"Runoob"NaN"Runoob"true
[ ]0""true
[20]20"20"true
[10,20]NaN"10,20"true
["Runoob"]NaN"Runoob"true
["Runoob","Google"]NaN"Runoob,Google"true
function(){}NaN"function(){}"true
{ }NaN"[object Object]"true
null0"null"false
undefinedNaN"undefined"false

正则表达式

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

search()

用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>收索字符串,匹配位置</p><button onclick="myFuncOne()">CLICK HERE ONE</button>
<p id="one">HERE</p><button onclick="myFuncTwo()">CLICK HERE TWO</button>
<p id="two">HERE</p><script>function myFuncOne() {let str = "Hello,World!";document.getElementById("one").innerHTML = str.search(/World/i);}function myFuncTwo() {let str = "Welcome to China!";document.getElementById("two").innerHTML = str.search("China");}
</script></body>
</html>

replace()

用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>正则表达式replace()替换</p><button onclick="myFuncOne()">CLICK ONE</button>
<p id="one">Hello,Java</p><button onclick="myFuncTwo()">CLICK TWO</button>
<p id="two">Hello,Java</p><script>function myFuncOne() {let str = document.getElementById("one").innerHTML;document.getElementById("one").innerHTML = str.replace(/Java/i, "Python");}function myFuncTwo() {let str = document.getElementById("two").innerHTML;document.getElementById("two").innerHTML = str.replace("Java","JavaScipt");}
</script></body>
</html>

正则表达式模式

正则表达式修饰符
修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。
正则表达式特殊字符
表达式描述
[abc]查找方括号之间的任何字符。
[0-9]查找任何从 0 至 9 的数字。
(x|y)查找任何以 | 分隔的选项。
正则表达式量词
量词描述
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。

test()

用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回true,否则返回false。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><script>let obj = new RegExp("e");let boolOne = obj.test("Hello,This is JavaScript");let boolTwo = obj.test("This is JavaScript");document.write(boolOne + "<br>" + boolTwo);
</script></body>
</html>

exec()

用于检索字符串中的正则表达式的匹配,该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><script>let obj = new RegExp(/e/);resOne = obj.exec("Hello,This is JavaScript");resTwo = obj.exec("This is JavaScript");/*没有就是null*/document.write(resOne + "<br>" + resTwo);
</script></body>
</html>

错误异常

错误类型

  • 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误。
  • 可能是语法错误,通常是程序员造成的编码错误或错别字。
  • 可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
  • 可能是由于来自服务器或用户的错误输出而导致的错误。
  • 当然,也可能是由于许多其他不可预知的因素。

try...catch

try语句允许我们定义在执行时进行错误测试的代码块,catch语句允许我们定义当try代码块发生错误时,所执行的代码块。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><input type="button" value="查看消息" onclick="myFunc()">
<script>let txt = "";function myFunc() {try {alert111("Hello,World!")}catch (err) {txt = "这里有一个错误\n\n";txt += "错误描述:" + err.message + "\n\n";txt += "点击确定继续\n\n";alert(txt)}}
</script></body>
</html>

throw

throw语句允许我们创建自定义错误。正确的技术术语是:创建或抛出异常(exception)。如果把throw与try和catch一起使用,那么您能够控制程序流,并生成自定义的错误消息。

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>请输入一个5-10之间的数字</p>
<label for="one"></label><input id="one" type="text">
<button type="button" onclick="myFunc()">CLICK</button>
<p id="message">HERE</p><script>function myFunc() {let message;let x;message = document.getElementById("message");message.innerHTML = "";x = document.getElementById("one").value;try {if (x === "")throw "值为空";if (isNaN(x))throw "不是数字";x = Number(x);if (x < 5)throw "太小";if (x > 10)throw "太大";} catch (error) {message.innerHTML = "错误" + error;}}
</script></body>
</html>

函数调用

JavaScript 函数有 4 种调用方式,每种方式的不同在于this的初始化。一般而言,在Javascript中,this指向函数执行时的当前对象。

调用1:作为一个函数调用

one

function myFunc(a, b) {return a * b;
}myFunc(1, 2);

two

function myFunc(a, b) {return a * b;
}window.myFunc(1, 2);

调用2:函数作为方法调用

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>函数作为方法调用</p>
<p id="one">HERE</p><script>let myObject = {firstName: "Bill",lastName: "Gates",fullName: function () {return this.firstName + " " + this.lastName;}};document.getElementById("one").innerHTML = myObject.fullName();
</script></body>
</html>

调用3:使用构造函数调用函数

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>该实例中,myFunc()是函数的构造函数</p>
<p id="one"></p>
<script>function myFunc(argOne, argTwo) {this.Name = argOne;this.Number = argTwo;}let x = new myFunc("Hello", 123);document.getElementById("one").innerHTML = x.Name;
</script></body>
</html>

调用4:作为函数方法调动函数

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>作为函数方法调动函数</p>
<p id="one">HERE</p><script>let obj, array;function myFunc(a, b) {return a * b;}array = [5, 6];obj = myFunc.apply(obj, array);document.getElementById("one").innerHTML = obj;
</script></body>
</html>

闭包

内嵌函数

实际上,在JavaScript中,所有函数都能访问它们上一层的作用域。JavaScript支持嵌套函数,嵌套函数可以访问上一层的函数变量。内嵌函数plus()可以访问父函数的counter变量:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>内嵌函数</p>
<p id="one">HERE</p><script>document.getElementById("one").innerHTML = add();function add() {let counter = 0;function plus() {counter += 1;}plus();return counter;}
</script></body>
</html>

闭包

函数的自我调用称为bibao

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta http-equiv="content-Type" charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><title>Title</title>
</head>
<body><p>局部计数器</p>
<button type="button" onclick="myFunc()">计数器</button>
<p id="one">HERE</p><script>let add = (function () {let counter = 0;return function () {return counter += 1;}})();function myFunc() {document.getElementById("one").innerHTML = add();}
</script>
</body>
</html>

特别说明:由于本次学习总结特别简单,故而不放出运行结果,感兴趣的小伙伴可以自己敲一下,这也是为了培养大家的动手能力!

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

相关文章

  1. 2018最新大数据分析/数学建模-MATLAB多套视频教程合集+200多本MATLAB技术文档+电子书

    ===============课程目录=============== 视频教程下载地址:百度网盘 │ ├《MATLAB.GUI第2版》配套光盘.rar │ ├<Matlab GUI 初学者视频教学> │ │ ├10.GUI菜单制作,加Active控件,放MTV.wmv │ │ ├1创建一个简单GUI.wmv │ │ ├2按钮的使用,图片读取.…...

    2024/4/20 4:39:25
  2. SIRS传染病模型求解及MATLAB实现

    模型假设1、总人数N不变。人群分为健康者、病人和移出者三类。t时刻三类人数量分别记为s(t),i(t)和r(t)。2、病人的日接触率为,日治愈率为。3、移出者康复后只有暂时免疫力,单位时间内将有的移出者丧失免疫而可能再次被感染。模型构成由假设1显然有 (1-1)建立关于s(t),i(t)…...

    2024/4/20 18:16:15
  3. JavaScript 高级

    JavaScript 高级JavaScript 浏览器检测浏览器检测 本教程中几乎所有的代码均可在任何支持 JavaScript 的浏览器中运行。不过个别的代码无法运行于特定的浏览器,特别是老式的浏览器。 所以,有些时候对访问者的浏览器类型及版本进行检测是很有帮助的,然后可在此基础上为访问…...

    2024/4/20 18:16:15
  4. 高等数学:第三章 微分中值定理与导数的应用(1)中值定理

    3.1 中值定理一、罗尔定理若在闭区间上连续,开区间内可导,且,则至少存在一点,使。在证明罗尔定理之前,我们先来描述一下它的几何意义。为了使同学们更直观地看到这一点,我们在计算机上做一个动画实验:【定理证明】在上连续,据闭区间上连续函数的最大值和最小值定理,在…...

    2024/4/20 18:16:13
  5. JavaScript零基础进阶班视频课程 王力主讲 共60课(完整)

    课程介绍:前端工程师是一个容易上手的高薪职业,在一线城市月薪为20K~30K之间,是理工科背景的同学希望转行做IT技术的第一职业选择,而JavaScript 就是前端工程师的必备技能。本次课程就是针对没有基础的同学想要进行相关学习而开办的。JavaScript 不像其他语言那样要求使用者…...

    2024/4/13 23:23:52
  6. 高等数学--方程的近似解(六)

    目的: 在科学技术问题中,经常会遇到求解高次代数方程或其他类型方程的问题,要求出这类方程实根的精确值,往往比较困难,需要寻找方法来获取方程的近似解。 步骤: ①先画出复杂方程y=f(x)的大致图形,从图上定位出它与x轴的交点大概位置,这一步工作称为根的隔离,获取的区…...

    2024/4/19 11:03:51
  7. 一元多次方程在MATLAB中的解以及图形显示

    一元二次方程% 求解 ax2+bx+c=0 2次方程有两个个解syms a b c x; [x] = solve(a*x^2+b*x+c==0,x,Real,false) syms x [x] = solve(x^2+x+1==0,x,Real,false) %false 求复数解 true 求实数解 %图形 x = -2:0.01:1; y = x.^2+x+1; y1 = zeros(size(x)); plot(x,y,b); hold on …...

    2024/4/13 7:28:49
  8. DAY9 MATLAB学习笔记—高等数学问题求解

    最小二乘拟合直线: clear all; X=[1.2 3.4 4.5 6.3 7.1 8.2 9.5 10.3 13.6]; figure; plot(X,‘b*’); h=lsline 正态分布的概率图: clear all; X=normrnd(0,1,100,1); figure; H=normplot(X) 经验累积分布函数图: clear all; X=normrnd(0,1,100,1); [h,stats]=cdfplot(X) 威…...

    2024/4/15 18:53:54
  9. 全国首部arcgis for javascript 二次开发视频教程

    全国首部arcgis for javascript 二次开发视频教程 百度传课:http://www.chuanke.com/2873165-137674.html 51cto:http://edu.51cto.com/course/course_id-3949.html 网易云课堂:http://study.163.com/course/courseMain.htm?courseId=1270003 CSDN:http://edu.csdn.net/cour…...

    2024/4/13 7:29:09
  10. matlab语言与应用 04 线性代数

    现代科学运算-matlab语言与应用" role="presentation"> 东北大学 http://www.icourses.cn/home/ (薛定宇) 《高等应用数学问题的MATLAB求解(第四版)》 代码可在matlab r2016b 运行。04 线性代数问题的计算机求解04.01 特殊矩阵输入零矩阵、幺矩阵及单位矩阵…...

    2024/4/13 7:28:59
  11. JavaScript教程-表单验证和常用特效

    网页学习网提供的JavaScript教程,包括JavaScript的基本语法、window对象、document对象、CSS样式特效、表单验证 技术、课后练习和实践训练。让各位读者网页学习网的JavaScript教程开始,真正掌握JavaScript的精髓。------分隔线----------------------------JavaScript的基本…...

    2024/4/13 7:28:49
  12. AJax视频教程适高级篇+源码(2G)25讲

    AJax视频教程(适合掌握了javaweb)(2G)25讲01_AJAX视频教程_javaScript知识回顾 02_AJAX视频教程_javaScript方法介绍01 03_AJAX视频教程_javaScript方法介绍02 04_AJAX视频教程_javaScript方法介绍03 05_AJAX视频教程_javaScripe练习1 06_AJAX视频教程_javaScripe练习2 07_…...

    2024/4/18 17:37:33
  13. MATLAB与高等数学--方程组相平面图(弹簧的阻尼振动图像)

    绘制弹簧的位置和动量随时间变化的图像 x(t)表示弹簧系统所在的位置,p(t)表示它的动量,并且遵循方程:clear,clc;syms x(t) p(t);q1 = 2*diff(x,t,2)+diff(x,t,1)+8*x==0;q2 = diff(p,t,1)==-p-8*x;cond1 = x(0)==2;cond2 = p(0)==0;cond3 = diff(x,t,1);s = dsolve(q1,q2,co…...

    2024/4/13 7:28:54
  14. 在2016年如何学习JavaScript?

    在2016年如何学习JavaScript?原文链接 Want to learn JavaScript in 2016?作者:Vincent O译者:相信有不少人已经读过在 2016 年学 JavaScript 是一种什么样的体验?这篇神文,那么假如你真的要在2016年开始学习JavaScript,你应该怎么办呢?下面介绍的是我这一年来学习Java…...

    2024/4/13 7:29:04
  15. 如何利用MATLAB求解积分与微分?

    文章目录前言1 数值微分2 数值积分小结 前言 今天我们要说的就是数值微积分,赶紧看看他和高等数学中的微积分有什么区别吧。本文是科学计算与MATLAB语言专题六第一小节的学习笔记,如果大家有时间的话,可以去听听课,没有的话,可以看看我的笔记,还是很不错的。 1 数值微分 …...

    2024/4/13 7:29:19
  16. JavaScript中的工厂函数

    JavaScript 教程JS 教程 JS 简介JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。 JavaScript 是因特网上最流行的脚本语言。 JavaScript 很容易使用!你一定会喜欢它的! 开始学习 JavaScri…...

    2024/4/15 3:10:27
  17. MATLAB编程与工程应用(第2版) pdf电子书

    重要提示尊敬的用户您好,由于MATLAB编程与工程应用(第2版)pdf书受百度网盘影响无法做公共分享,只能私密分享,有不到之处请多多谅解! 百度网盘链接: http://pan.baidu.com/s/1d6Crc 密码: ydpf内容推荐 国外电子与通信教材系列:《MATLAB编程与工程应用(第2版)》的主旨…...

    2024/4/20 2:08:10
  18. 灰色预测模型

    灰色预测模型主要运用小数据的预测问题,比如可以由近期的数据预测出未来的数据 对于灰色预测的思想这里不再写了,到处可以找到详细解释,这里主要对于一个具体事例给出matlab代码(附上详细注释)%近十年数据89677,99215,109655,120333,135823,159878,182321,209407,246619,3…...

    2024/4/19 9:54:29
  19. 学习笔记(20):四十九课时精通matlab数学建模-精通matlab高等数学等问题求解初级篇...

    立即学习:https://edu.csdn.net/course/play/25039/288887?utm_source=blogtoedu最小二乘拟合直线1.正态分布概率图clear allx=[1.2 3.4 4.5 6.3 7.1 8.2 9.5 10.3 13.6];figure;plot(X,b*);h=isline;2.经验累积分布函数图clear all;X=normrnd(0,1,100,1);[a,stats]=cdfplot(X…...

    2024/4/13 7:29:34
  20. 比较浅显简单的JavaScript教程

    网页学习网提供的JavaScript教程,包括JavaScript的基本语法、window对象、document对象、CSS样式特效、表单验证技术、课后练习和实践训练。让各位读者网页学习网的JavaScript教程开始,真正掌握JavaScript的精髓。------分隔线---------------------------- JavaScript的基本…...

    2024/4/13 18:54:25

最新文章

  1. redis与etcd的对比

    1.redis是一种高级的key&#xff1a;value存储系统&#xff0c;其中value支持五种数据类型&#xff1a; 1.1 字符串&#xff08;strings&#xff09; 1.2 字符串列表&#xff08;lists&#xff09; 1.3 字符串集合&#xff08;sets&#xff09; 1.4 有序字符串集合&#xff08;…...

    2024/4/20 20:59:24
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. [蓝桥杯 2014 省 A] 波动数列

    容我菜菲说一句&#xff0c;全网前排题解都是rubbish&#xff0c;当然洛谷某些也是litter 不好意思&#xff0c;最近背单词背了很多垃圾的英文&#xff0c;正题开始 [蓝桥杯 2014 省 A] 波动数列 题目描述 输入格式 输入的第一行包含四个整数 n , s , a , b n,s,a,b n,s,a…...

    2024/4/16 21:51:03
  4. vue项目引入微信sdk: npm install weixin-js-sdk --save报错

    网上查到要用淘宝的镜像 同事告知旧 域名&#xff1a;https://registry.npm.taobao.org/已经不能再使用 使用 npm config set registry http://registry.npmmirror.com...

    2024/4/17 22:16:11
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/19 14:24:02
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/19 18:20:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/19 11:57:31
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/19 11:57:31
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/19 11:57:52
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/19 11:58:14
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/19 11:58:20
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/20 7:40:48
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/19 11:58:39
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/19 11:58:51
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/20 3:12:02
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/19 11:59:15
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/19 11:59:48
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/19 12:00:06
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/19 16:57:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/19 12:00:25
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/19 12:00:40
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57