JavaScript简介:
JavaScript-JS不是java 是一种操作网页的脚本语法 网景==>欧洲计算协会(ECMA)
ECMAScript是语言标准-ES
ES3 ES5 ES6(ES2015后) ES2015 ES2016 ES2023
我们使用的vscode写出的代码是js代码,但当我们应用在项目中的时候将会改成es代码。
js代码的几种写法:
1.行内式 在元素的事件中 可以直接写js脚本代码
<div onclick="JavaScript:alert('6666666')">
点我就会执行脚本
</div>
<a href="JavaScript:void(0)">抽奖</a>
2.嵌入式
<script>
var a = 20;
console.log(a);
</script>
3.引入式
<script src="./index.js"></script>
4.引入式又嵌入,只会执行引入的文件中的代码
<script src="./index.js">
console.log(777777)
console.log(c)
</script>
ES6可以引入式又嵌入
<script type="module">
import box from "./box.js"
console.log(box)
</script>
变量的声明规则:
声明一个变量 等号是一种运算的符号 同+ - * / 右边的值赋值给左边的变量名以后使用数据时 可以直接使用变量名 代替
变量名字:1.不能是官网已经设计过的单词(关键字,保留字) 2.可以包含字母数字'_','$'符号,不能是数字开头 3.区分大小写
以下是关键字和保留字:
PS:其实unicode编码的字符都能识别
变量的使用:
在日常生活中,有些东西是固定不变的,有些东西则会发生变化。例如,人的姓名和生日是固定不变的,但心情和年龄却会随着时间变化而变化。人们把那些会发生变化的东西称为变量。
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
当程序需要将值保存起来以备将来使用时,便将其赋值给一个变量。变量(variable)是一个用于保存值的占位符,可以通过变量名称来获得对值的引用。
变量在JavaScript中就是用一个变量名表示,变量名是大小写英文、数字、$和_的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if、while等。申明一个变量用var语句,比如:
var a; // 申明了变量a,此时a的值为undefined
var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1
var s_007 = '007'; // s_007是一个字符串
var Answer = true; // Answer是一个布尔值true
var t = null; // t的值是null
在JavaScript中,使用赋值符号 = 对变量进行赋值。可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用var申明一次,例如:
var a = 123; // a的值是整数123
a = 'ABC'; // a变为字符串
ps:变量只能保存
5种基本数据:数字number 文本string 布尔值 undefined null
1种引用数据:对象object函数function
数字变化:
Number 类型应该是 ECMAScript 中最令人关注的数据类型了,这种类型用来表示整数和浮点数值(浮点数值在某些语言中也被称为双精度数值)。为支持各种数值类型, ECMA-262 定义了不同的数值字面量格式。
1. 整数数值
最基本的数值字面量格式是十进制整数
2. 浮点数值
所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。虽然小数点前面可以没有整数,但我们不推荐这种写法。
3. 数值范围
由于内存的限制, ECMAScript 并不能保存世界上所有的数值。 ECMAScript 能够表示的最小数值(绝对值)保存在 Number.MIN_VALUE 中——在大多数浏览器中,这个值是 5e-324;能够表示的最大数值(绝对值)保存在Number.MAX_VALUE 中——在大多数浏览器中,这个值是 1.7976931348623157e+308。
如果某次计算的结果得到了一个超出 JavaScript 数值范围的值,那么这个数值将被自动转换成特殊的 Infinity 值。具体来说,如果这个数值是负数,则会被转换成-Infinity(负无穷),如果这个数值是正数,则会被转换成 Infinity(正无穷)。
如上所述,如果某次计算返回了正或负的 Infinity 值,那么该值将无法继续参与下一次的计算,因为 Infinity 不是能够参与计算的数值。要想确定一个数值是不是有穷的(换句话说,是不是位于最小和最大的数值之间),可以使用 isFinite()函数。这个函数在参数位于最小与最大数值之间时会返回 true。
4.NaN
NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以 0 都会导致错误,从而停止代码执行。但在 ECMAScript 中,任何数值除以 0 会返回 NaN,因此不会影响其他代码的执行。
5.toFixed
toFixed() 方法将一个浮点数转换为指定小数位数的字符串表示,如果小数位数高于数字,则使用 0 来填充。
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
var b = 3.54149264354663
b.toFixed(0)//3
b.toFixed(3)//3.541
b.toFixed(4)//3.5415
注意:toFixed() 方法在进行四舍五入时可能会产生一些不准确的结果,这是因为 toFixed() 方法在处理浮点数时,实际上使用的是舍入到最近的偶数(银行家舍入)策略,而不是标准的四舍五入。这种舍入策略是为了在大量运算时减小累积误差。
6.parseInt
parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析。也就是向下取整。
字符串:
字符串 是计算机跟人类的语言沟通的桥梁。字符串可以由双引号(")或单引号(')表示
\ ' | 单引号('),在用单引号表示的字符串中使用。例如: 'He said, \ 'hey.\ ' ' |
\ " | 双引号("),在用双引号表示的字符串中使用。例如: "He said, \ "hey.\ "" |
如var a3 = a1 + a2 +号左右两边的表达式 如果有一个是字符串,就会把另外一个转化字符串,然后 拼接,得到新字符串。
undfined和null:
var a = undefined; 业务意义 往往代表标识符没有给定初始值
var b = null; 业务意义 往往代表业务的数据 为空
null用来描述空值;typeof null:返回的是字符串object;– 通常来讲我们把null看成他自有类型的唯一成员;
underfined表明只声明了变量没有赋值;如果函数没有返回值,则返回undefined; typeof undefined:返回的是字符串undefined;==认为NULL和undefined是相等的;===则返回false;
boolean类型:
Boolean 类型是 ECMAScript 中使用得最多的一种类型,该类型只有两个字面值: true 和 false。 虽然 Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值。要将一个值转换为其对应的 Boolean 值,可以调用转型函数 Boolean()
数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 任何非零数字值(包括无穷大) | ±0和NaN(参见后面章节有关NaN的内容) |
Object | 任何对象 | |
null | ||
Undefined | undefined |
a==b取双等号左右两边表达式 的 值是否相等从而输出是true还是false
a===b取三等号左右两边表达式 的 值和类型是否相等从而输出是true还是false
以下是判断不同类型的判断输出
typeof:
鉴于 ECMAScript 是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof 就是负责提供这方面信息的操作符。typeof操作符的操作数可以是变量(message),也可以是数值字面量。 对一个值使用 typeof 操作符可能返回下列某个字符串:
-
"undefined"——如果这个值未定义;
-
"boolean"——如果这个值是布尔值;
-
"string"——如果这个值是字符串;
-
"number"——如果这个值是数值;
-
"object"——如果这个值是对象或 null;
-
"function"——如果这个值是函数。