JS–ECMAScript5

JavaScript笔记–ECMAScript

输入输出语句

alert(msg) 浏览器弹出警示框
console.log(msg) 浏览器控制台打印输出信息
prompt(info) 浏览器弹出输入框,用户可以输入(取过来的值是 string

变量

1、声明变量

var age; // 声明一个名称为age的变量

**var ** 是一个JS关键字,用来声明变量(variable 变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管
age 是程序员定义的变量名,我们要通过变量名来访问内存中的分配的空间

2、赋值( =

age =10 ;  //给age  这个变量赋值为10

= 用来把右边的值赋值给左边的变量空间中 此处代表赋值的意思
变量值是程序员保存到变量空间里面的值

3、变量的初始化

var age =18; //声明变量同时赋值为18

声明一个变量并赋值,我们称之为变量的初始化

小结

  1. 为什么需要变量?

因为我们一些数据需要保存,所有需要变量

  1. 变量是什么?

变量就是一个容器,用来存放数据的。方便我们以后使用里面的数据

  1. 变量的本质是什么?

变量是内存里的一块空间,用来存储数据
声明变量本质是去内存申请空间

  1. 变量怎么使用?

我们使用变量的时候,一定要声明变量,然后赋值

  1. 什么是变量的初始化?

声明变量并赋值我们称之为变量的初始化

  1. 变量命名规范有哪些?

变量名尽量要规范,见名知意----驼峰命名法
要知道哪些变量名不合法

  1. 交换2个变量值的思路?(三种常见方法)
//声明变量并赋值 
var a = 2; 
var b = 5;

定义一个中间变量tmp 
var tmp = a; 
a = b; 
b = tmp; 
//控制台打印出a = 5, b = 2 
console.log(“a=+ a +,b=+ b);

加减操作赋值 
a = a + b; 
b = a - b; 
a = a- b; 
console.log(“a=+ a +,b=+ b);

运用数组赋值 
//将数组[5,2]中索引号为0的元素赋值给a 
a = [b, b = a] [0]; 
console.log(“a=+ a +,b=+ b);

数据类型

简单数据类型(number,string,boolean,undefined,null)

简单数据类型说明默认值
Number数字型,包含 整形值和浮点型值, 如21、0.210
Boolean布尔值类型, 如 true、false 等价于1和0false
String字符串类型,如"张三" 注意js里面,字符串都带有引号“”
Undefinedvar a ; 声明了变量a但是没有给值,此时a=undefinedundefined
Nullvar a = null; 声明了变量a为空值null

##数字型的最大值和最小值

alert(Number.MAX_VALUE);  // 1.7976931348623157e+308 最大值
alert(Number.MIN_VALUE);  // 5e-324  最小值

特殊值

alert(Infinity); //Infinity
alert(-Infinity); //-Indinity
alert(NaN); //NaN
  • Infinity, 代表无穷大,大于任何数值
  • -Infinity, 代表无穷小,小于任何数值
  • NaN,Not a number ,代表一个非数值

isNaN() 函数用于检查其参数是否是非数字值。

isNaN() 这个方法用来判断非数字,并且返回一个值 如果是数字返回的是 false ,如果不是数字返回的是 true

在这里插入图片描述

var usrAge = 21;
var isOk = isNaN(usAge);
console.log( isOk);  //   false  21 是一个数字
var usrName = "andy";
console.log(isNaN(usrName));  // true  , "andy" 是一个非数字

复杂数据类型(object)

string 字符串

字符串转义符

类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符
转义符都是 \ 开头的,常用的转义符及其说明如下:
.length 检测获取字符串长度

转义符解释说明
\n换行符,n是 newline 的意思
\\斜杠\
' 单引号
"" 双引号
\ttab 缩进
\b空格,b是blank 的意思

在这里插入图片描述

<script>
	//1.检测 字符串长度 length
	var str = 'my name is zsls'	;
	console.log(str.length); // 15
	//2.字符串的拼接 + 只要有字符串和 其他数据类型 相拼接 最终的结果是字符串类型(string)
	console.log('沙漠' + '骆驼'); // 字符串 沙漠骆驼
	console.log('pink'+ 123); // pink123
	console.log('pink'+true); //pinktrue
	console.log(12+12); // 24
	console.log('12'+12);//1212 string类型
<\script>

布尔型 Boolean

布尔类型只有两个值: turefalse ,其中 true 表示真(对),而false 表示假( 错)
布尔型和数字型相加的时候,ture 的值为1,false 的值为0.

console.log(true+1);    //2
console.log(false+1);    //1
console.log(true+false); //1

undefined 和 null

一个声明后没有被赋值的变量会有一个默认值undefined

undefined 和数字相加 最后的结果是 NaN
null 空值

在这里插入图片描述

获取变量数据类型

typeof 可用来获取检测变量的数据类型
在这里插入图片描述

字面量

字面量是在源代码中一个固定的表示法,通俗来说,就是字面量表示如何表达这个值

简单的说

字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。
字面量分为字符串字面量(string literal )、数组字面量(array literal)和对象字面量(object literal),另外还有函数字面量(function literal)。

示例:

var test="hello world!";
"hello world!" 就是字符串字面量,test 是变量名。

数据类型转换

使用表单、prompt (prompt() 方法用于显示可提示用户进行输入的对话框)获取过来的数据默认是字符串类型 此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗的说,就是把一种数据类型的变量转换成另一种数据类型。

转为字符串

方式说明案例
toString()转成字符串var num = 1; alert(num.toSrting());
String() 强制转换转换成字符串var num = 1; alert(String(num));
加号拼接字符串和字符串拼接的结果都是字符串var num = 1; alert(num+“我是字符串”);

在这里插入图片描述

转为数字型 number

方式说明案例
parseInt(string)函数将string类转成 整形数 数值型parseInt(‘78’)
parseFloat(string)函数将string类型转成 浮点数 数值型parseFloat(‘78.21’)
Number()强制转换函数将string类型转换成 数值型Number(‘12’)
js隐式转换(- * /)利用 算数运算符 进行 隐式转换 成数值型‘12’ - 0

在这里插入图片描述

转为布尔型 Boolean

   console.log(Boolean());
方式说明案例
Bootlean()函数其他类型转成布尔值Boolean(‘ture’);
  • 代表空、否定的值会被转换为false ,如 “ 、 0 、Nan 、 null 、undefined
  • 其余值都会被转换为 true
    在这里插入图片描述

运算符

由数字、运算符、变量等组成的式子 我们称为表达式 1+1

console.log(1+1); // 2 就是返回值
//  1+1=2
//   在我们程序里面  2=1+1  把我们的右边表达式计算完毕把返回值给左边
var num = 1+1;

递增递减(一元运算符)

如果需要反复给数字变量添加或减去1 ,可以使用递增(++)递减(–)运算符来完成。
在javascript中,递增(++)递减(–)既可以放在变量前面,也可以放在变量后面。
放在变量前面时,我们可以称为
前置递增(递减)运算符,放在变量后面
时,我们可以称为
后置递增(递减)运算符

注意:递增和递减 运算符必须和变量配合使用。

  • 前置递增和后置递增运算符可以简化代码的编写,让变量的值+1 比以前写法更加简单
  • 单独使用时,运算结果相同
  • 与其他代码联用时,执行结果会不同
  • 后置: 先原值运算,后自加(先人后己)
  • 前置:先自加,后运算(先己后人)
  • 开发时,大多使用后置递增/减 ,并且代码独占一行,列如:num++ ;或者num–;

比较运算符

概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(ture/false)作为比较运算的结果

运算符名称说明案例结果
<小于号1<2true
>大于号1>2false
>=大于等于号(大于或者等于)2>=2ture
<=小于等于号(小于或者等于)3<=2false
==判等于(值相同)37==37ture
!=不等号37!=37false
===全等 要求值和 数据类型都一致37=== ‘37’false

逻辑预算符

概念: 逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。开发中经常用于多个条件的判断。

逻辑运算符说明案例
&&“逻辑与”,简称:“与” andtrue&& false
\\“逻辑或”,简称:“或” orture\\false
!非 field2field3

逻辑 非 (!)也叫作取反符,用来取一个布尔值相反的值,如true的相反值是false

var isok =!true;
console.log(isok); //false

短路运算(逻辑中断)

短路运算的原理: 当有多个表达 式 (值)时,左边的表达式可以确定结果时,就不在继续右边的表达式的值。

1.语法: 表达式1 && 表达式2

如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1

在这里插入图片描述

2.语法: 表达式1 || 表达式2

如果第一个表达式的值为真,则返回表达式1
如果第一个表达式的值为假,则返回表达式2

在这里插入图片描述

赋值运算符

概念:用来把数据赋值给变量的运算符

赋值运算符说明案例
=直接赋值var usrName = '我是值'
+=、-=加,减 一个数 后在赋值var age=10;age+=5; //15
*=、/=、%=乘,除,取模 后在赋值var age= 2; age*=5; //10

运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ -- !
3算数运算符先 * / % 后 + -
4关系运算符> >= < <=
5相等运算符== !== ===
6逻辑运算符先 && 后 ||
7赋值运算符=
8逗号运输符,

流程控制

if else 语句(双分支语句)

执行流程
在这里插入图片描述

三元表达式

语法结构:

条件表达式  ?  表达式1 :表达式2

执行思路:

如果条件表达式结果为真 则 返回 表达式1 的值 如果条件表达式结果为假 则返回 表达式2 的值

在这里插入图片描述

switch 语法

在这里插入图片描述

注意!!!!!:
在这里插入图片描述

switch语句 与 if else 语句 区别

1、一般情况下,他们两个语句可以相互替换
2、switch…case语句通常处理case为比较确定值的情况,而且if…els…语句更加灵活,常用于范围判断(大于,小于,等于某个范围)
3、switch语句进行判断后直接执行到程序的条件语句,效率更高。而且if…else语句有几种条件,就得判断多少次。
4、当分支比较少时if...else语句的执行效率比switch语句高。
5、当分支比较多时switch语句的执行效率比较高,而且结构更清晰。

for 循环

  • for循环可以重复执行某些相同代码
  • for循环可以重复执行些许不同的代码,因为我们有计数器
  • for循环可以重复执行某些操作,比如算术运算符加法操作
  • 随着需求增加,双重for循环可以做更多,更好看的效果
  • 双重for 循环,外层循环一次,内层for循环全部执行
  • for 循环是循环条件和数字直接相关的循环
  • 分析要比写代码跟重要
  • 一些核心算法想不到,但是要学会,分析它执行过程
  • 举一反三,自己经常总结,坐一些相似的案例

while 循环

while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环
语法结构如下:

while(条件语句){
	//循环体代码
}

执行思路:

  1. 先执行条件表达式,如果结果为ture ,则执行循环体代码;如果为false ,则退出循环,执行后面代码
  2. 执行循环体代码
  3. 循环体代码执行完毕后,程序会继续判断执行条件表达式,如果条件仍为true,则会继续执行循环体,直到循环条件为false 时 ,整个循环过程才会结束

do…while 循环

do…while 语句其实是while语句的一个变体。该循环会执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。

do…while 语法结构如下;

do{
		//循环体代码-条件表达式为 ture  时重复执行循环体代码
}while(条件表达式)

执行思路:

  1. 先执行一次循环体代码
  2. 在执行条件表达式,如果结果为true ,则继续执行循环体代码,如果为false ,则退出循环,继续执行后面代码
    注意:先再执行循环体,再判断,我们会发现 do…while循环语句 至少会执行一次循环体代码

小结

  • JS中循环有for 、while、do…while
  • 三个循环很多情况下都可以相互替代使用
  • 如果是用来计次数,跟数字相关的,三者使用基本相同,但是我们更喜欢用for
  • while 和 do…while 可以做更复杂的判断条件,比for 循环灵活一些
  • while 和 do…while 执行顺序不一样,while 先判断后执行 ,do…while 先执行一次,再判断执行
  • while 和 do…while 执行次数不一样,do…while 至少会执行一次循环体,而while 可能一次也不执行
  • 实际工作中,我们更常用for 循环语句,它写法更简洁直观,所以这个要重点学习

continue 与 break

continue:结束当前循环,继续运行剩下的循环
brerak:结束前面所有循环并退出

数组

在这里插入图片描述

数组长度

数组名.length 可以修改数组元素
先修改数组长度,再修改索引号,再修改数组元素

在这里插入图片描述

冒泡循环 ★★★★★

在这里插入图片描述

函数

(1)function 声明函数的关键字 全部小写
(2)函数是做某件事情,函数名一般是动词 sayHi
(3)函数不调用自己不执行

调用函数

函数名();

调用函数的时候不要忘记小括号 ()

注意 声明函数不调用不执行,只有调用函数才会执行函数代码

利用函数的参数 实现函数重复不同的代码

function  函数名(形参1,形参2.....){   //在声明函数的括号里面是  形参   (形式上的参数)
}
函数名 (实参1,实参2...){   //在函数调用的括号里是实参   (实际的参数)
}

在这里插入图片描述

实参和形参

函数的参数可以有,也可以没有 个数不限

声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用函数时,同样也需要传递相应的参数,这些参数被称为实参

参数说明
形参式上的参数,函数定义的时候 传递的参数 当前并不知道是什么
实参际上的参数 函数调用的时候传递的参数 实参实传递给形参的

在这里插入图片描述

函数的返回值 return

return 需要返回的结果
语法格式

function 函数名(){
		return  需要返回的结果 ;
}
函数名  ();

把最终的结果需要返回给函数的调用者 函数名()
在这里插入图片描述

return 后面的代码无法执行
在这里插入图片描述

函数都是有返回值的

  1. 如果有return 则返回 return 后面的值
  2. 如果没有returm 则返回 undefined

小结

  • break:结束当前的循环体(如 for 、while)
  • continue: 跳出本次循环,继续执行下次循环(如 for 、 while)
  • retum: 不仅可以退出循环,还还能够返回return语句中的值,同时还可以结束当前的函数体内的代码

arguments 的使用 (内置对象)

当我们不确定有多少该个参数的时候,可以用argumemts来获取,在js中,atguments实际上他是当前函数的一个内置函数。所有函数都内置了一个arguments对象arguments对象中储存了传递的所有实参。
arguments 展示形式是一个伪数组,因此可以进行遍历,伪数组具有以下特点:

  • 具有length属性
  • 按索引方式储存数据
  • 不具有数组的push 、pop等方法
    只有函数才有 arguments对象

函数是可以相互调用

在这里插入图片描述

函数的声明

在这里插入图片描述

作用域

就是代码名字(变量)在某个范围内起作用和效果 目的是为了调高程序的可靠性 更重要的是减少命名冲突
在这里插入图片描述

变量的作用域

1、全局:全局作用域下的变量 在全局下都可以使用

注意:如果在函数内部 没有声明(var)直接赋值的变量也属于全局变量 赋值变量也叫全局变量

2、局部: 在局部作用域下的变量 后者在函数里的变量就是 局部变量

注意: 函数的形参也可以看作是局部变量

区别

在这里插入图片描述

作用域链–就近原则

在这里插入图片描述
输出:20

预解析

js引擎会把js 里面所有的 var变量 还有 function函数 提升到当前作用域的最前面
变量提升就是把所有的变量声明提升到当前的作用域最前面 不提升赋值操作

在这里插入图片描述

函数提升 就是把 所有的函数声明提升到当前作用域的最前面 不调用函数

对象 - 万物皆对象

对象是由属性方法组成的。

  • 属性:事物的特征,在对象中用属性来表示(常用名词)
  • 方法:事物的行为,在对象中用方法来表示(常用动词)

创建对象

在这里插入图片描述

使用对象

在这里插入图片描述

变量,属性,函数,方法的 区别

在这里插入图片描述
在这里插入图片描述

  • 变量:单独声明赋值,单独存在
  • 属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征
  • 函数: 单独存在的,通过"函数名()"的方式可以调用
  • 方法:对象里面的函数值称为方法,方法不需要声明,使用"对象.方法名()"的方式就可以调用,方法用来描述该对象的行为和功能。

用 new object 创建对象

在这里插入图片描述

构造函数

构造函数是一种特殊的函数,主要用来初始化对象。即为对象成员变量赋初始值,它总于new运算符一起使用,我们可以把对象中的一些公共的属性和方法抽取出来,然后封装到这个函数里面

语法格式

function  构造函数名(){
	this.属性=;
	this.方法 = function(){}
}
new 构造函数名();

案例

在这里插入图片描述
在这里插入图片描述

构造函数与对象

  • 构造函数,如Stars(),抽象了对象的公共部分,封装到了函数里面,它泛指某一大类(class)
  • 创建对象:如 new Stars() ,特指某一个,通过new 关键创建对象的过程我们也称为对象实例化

new 关键字

1、new 构造函数可以在内存中创建一个空对象
2、this 就会指向刚才创建的空对象
3、执行构造函数里面的代码 给这个空对象添加属性和方法
4、返回这个对象(所以构造函数里不需要return)

遍历对象属性 - for…in…

for…in 语句 用于对数组或者对象的属性进行循环操作

for (  变量 in 对象){

}

在这里插入图片描述

小结

  1. 对象可以让代码结构跟清晰
  2. 对象复杂数据类型object
  3. 本质:对象就是一组无序的相关属性的方法的集合
  4. 构造函数 泛指某一大类。比如苹果,不管是红色苹果还是绿色苹果,都统称为苹果
  5. 对象实例特指一个事物,比如这个苹果,正在给你们写着笔记的作者等
  6. for…in 语句用于对对象的属性进行循环操作。

内置对象 - DOM

js有3种对象:
自定义对象-ECMAScript
内置对象-DOM
浏览器对象-BOM

MDN

https://developer.mozilla.org/zh-CN/

Math 数学对象

Math 数学对象官方说明
与其他全局对象不同的是,Math 不是一个构造器。Math 的所有属性与方法都是静态的。引用圆周率的写法是 Math.PI,调用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。Math 的常量是使用 JavaScript 中的全精度浮点数来定义的。

Math.PI                  //圆周率
Math.floor()          //向下取整
Math.cell()          //向上取整
Math.round()     //四舍五入  就近取整   注意  -3.5 结果是-3
Math.abs()        //绝对值
Math.max()     //求最大和最小值

Math.round() 四舍五入 其他数字都是四舍五入 但是 0.5 特殊 他往大取值

随机数 random()

返回一个随机数 0=<x<1
得到两个数之间的随机整合 并且 包含这两个整数↓↓↓↓

Math.floor(math.random()*(max-min+1))+min;

日期对象 Data()

var date =new Date();  必写

只能通过 Data构造函数来实例化日期对象
使用data 如果没有参数 返回当前系统的当前时间

1.获取当前时间必须实例化

var now = new Data();
console.log(now);

2.Data() 构造函数的参数

如果括号里面有时间,就返回参数里面的时间。例如日期格式字符串为 ‘2020-6-19’ ,可以写成new Date(‘2020-6-19’)

获取日期指定的部分

有时候我们需要获取日期指定的部分,所以我们要手动的得到这种格式。

方法名说明代码
getFullYear()获取当年dObj.getFullYear()
getMonth()获取当月(0-11)dObj.getMonth()
getDate()获取当天日期dObj.getDate()
getDay()获取星期几(每周0 到周6)dobj.getDay()
getHours()获取当前小时dobj.getHours()
getMinutes()获取当前分钟dobj.getMinutes()
getSeconds()获取当前秒数dobj.getSeconds()
案例

年月日
在这里插入图片描述

// 最后一行
console.log('今天是'+year+'年'+month+'月'+dates+'日'+arr[day])

时分秒
在这里插入图片描述

获取毫秒

在这里插入图片描述

倒计时案例

在这里插入图片描述

代码部分
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width= , initial-scale=1.0">
    <title>Document</title>
</head>
<script>
    // d = parseInt(总秒数/60/60/24);  计算天数
    // h=parseInt(总秒数/60/60%24); 计算小时
    // m=parseInt(总秒数/60%60); 计算分数
    // s=parseInt(总秒数%60); 计算当前秒数


    function conutDown(time) {
        var nowTime = +new Date(); //返回当前时间的总的毫秒数
        var inputTime = +new Date(time); //返回用户输入时间的总毫秒数
        var times = (inputTime - nowTime) / 1000; //剩余时间总的秒数
        //天
        var d = parseInt(times / 60 / 60 / 24);
        d = d < 10 ? '0' + d : d;
        //时
        var h = parseInt(times / 60 / 60 % 24);
        h = h < 10 ? '0' + h : h;
        //分
        var m = parseInt(times / 60 % 60);
        m = m < 10 ? '0' + m : m;
        //秒
        var s = parseInt(times % 60);
        s = s < 10 ? '0' + s : s;
        // 判断时间是否小于10 否则加+0
        // d = d < 10 ? '0' + d : d;
        // h = h < 10 ? '0' + h : h;
        // m = m < 10 ? '0' + m : m;
        // s = s < 10 ? '0' + s : s;
        return d + '天' + h + '时' + m + '分' + s + '秒';
    }
    console.log(conutDown('2021-1-1 00:00:00'));
    var data = new Date(); //现在时间
    console.log(data);
</script>

<body>

</body>

</html>

判断数组对象

1、instanceof 运算符 可以用来检测是否为数组

语法 :
 数组名 instanceof  Array

在这里插入图片描述

2、Array.isArray(参数)
在这里插入图片描述

添加删除数组元素方法

添加方法 - push unshift

  1. push 是可以给数组追加新的元素(加在数组最后)
    push() 参数直接写 数组元素就可以了
    push 完毕后,返回的结果是 新数组的长度
    原数组也会发生变化

    在这里插入图片描述

  2. unshift 在数组开头添加 添加一个或者多个数组元素
    在这里插入图片描述

删除方法- pop shift

  1. pop() 可以删除数组的最后一位元素 一次只能删除一个
    pop()没有参数
    pop() 完毕之后,返回的值是删除的元素
    原数组也会发生变化
  2. shift()删除数组的第一个元素 返回删除的值 原数组也会发生变化

小结

方法名说明返回值
push(参数1…)末尾添加一个或多个元素,注意修改原数组长度并返回新的长度
pop()删除数组最后一个元素,把数组长度减1,无参数,修改原数组返回它删除的元素的值
unshift(参数1…)向数组的开头添加一个或更多元素,注意修改原数组并返回新的长度
shift()删除数组的一个元素,数组长度减1 无参数 ,修改原数组并返回第一个元素的值

数组排序

1、翻转数组 数组名.reverse( )
2、排序 (冒泡排序) 数组名.sort( );

在这里插入图片描述
函数的返回值只是判断正负,用来控制两个元素是否互换位置

数组索引 查找

  1. indexOf(数组元素) 返回该数组元素的索引号 只返回一个满足条件的索引号 如果没有找到该元素返回 -1 从数值前面开始查找
  2. lastIndexOf(数组元素) 从数值后面开始查找
方法名说明返回值
indexOf()数组中查找给定元素的第一个索引如果存在返回索引号 如果不存在,则返回-1
lastIndexOf()在数组中的最后一个的索引如果存在返回索引号 如果不存在,则返回-1

数组转为字符串

  1. 数组名.toString() 把数组转换成字符串
  2. 数组名.join(分隔符) 可以在数组元素之间添加符号
方法名说明返回值
.toString()把数组转换成字符串,逗号分隔每一项返回一个字符串
.join(‘分隔符’)方法用于把数组中的所有元素转换为一个字符串返回一个字符串

重要

方法名说明返回值
concat()连接两个或多个数组 不影响原数组返回一个新的数组
slice()数组截取 slice(begin,end)返回被截取项目的新数组
splice()数组删除 splice(第几个开始,要删除个数)返回被删除项目的新数组 注意,这个会影响原数组

slice() 和 splice() 目的基本相同 ,建议重点看下 splice()

字符串对象

1、基本包装类型

在这里插入图片描述
在这里插入图片描述

2、字符串的不可变性

在这里插入图片描述

根据字符返回位置

字符串所有的方法,都不会改变字符串本身(字符串是不可变的),操作完成返回一个新的字符串
在这里插入图片描述

根据位置返回字符

方法名说明使用
charAt(index)返回指定位置的字符 (index 字符串的索引号)str.charAt(0)
charCodeAt(index)获取指定位置处字符的ASCII码 (index 索引号)str.charCodeAt(0)
str[index]获取指定位置处字符HTML5, IE8+ 支持 和 charAt()等效

在这里插入图片描述

字符串操作方法(重点)

1、concat(‘字符串1’,‘字符串2’,‘字符串3’,…) - 字符串拼接

concat() 方法用于连接两个或多个数组。

var srt='abdy';
console.log(str.soncat('red'))
//输出为    abdyred

2、substr(‘截取的起始位置’,‘截取几个字符’);

var str1='改革春风吹满地';
console.log(str1.substr(2,2));  //第一个2是索引号的2 从第几个开始  第二个2 是取几个字符
输出为  春风

3、替换字符串 replace(‘被替换的字符’,‘替换为的字符’) 只会替换第一个字符

var str ='andyandy';
console.log(str.replace('a' , 'b'));
//结果为  bndyandy

在这里插入图片描述
结果就是:abc*efoxyozzopp

4、字符串转换为数组 split(‘分隔符’) 前面join 把数组转换成字符串

在这里插入图片描述

简单数据类型与复杂数据类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

  • 值类型: 简单数据类型/基本数据类型,在储存时变量中储存的是值本身,因此叫做值类型
    string、number、boolean、undefined、null

引用类型:复杂数据类型,在存储是变量中储存的仅仅是地址(引用),因此叫做引用数据类型

  • 通过new 关键字创建的对象(系统对象,自定义对象),如Object、Array 、Date等
简单数据类型说明默认值
Number数字型,包括 整形值和浮点型值,如21/0.210
Boolean布尔值类型,如true,false,等价于1和0false
String字符串类型,如 “张三” js里,字符串都带引号" "
Undefinedvar a; 声明了变量a 但是没有给值,此时a=undefinedundefined
Nullvar a=null;声明了变量a为空值null

在这里插入图片描述

复杂数据类型说明默认值
Object对象let a = {}
Array数组let b = []
Date日期let D = new Date()

接下来就是DOM部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值