基本写法:
书写格式
书写格式:内部js:在html中写一对script标签,js代码写在里面
行内js:写在标签里
外部js:用script加src引入
可以在控制台调试代码
声明的方法以及名规范
声明变量:var声明,可以声明多个变量,并赋值,中间逗号隔开
变量赋值:变量名=值
变量名的命名规范:可以是字母,数字,下划线,$符号组成,数字不能开头,不能是关键字,保留字,
区分大小写,(必须遵守)
变量名必须有意义,见名知义。驼峰命名法,首字母小写,后面单词的首字母大写
(可以不遵守)
数据类型:
全部的数据类型
基本数据类型:nuber:数值字面量,十进制,十六进制,八进制
浮点数(小数),判断NaN不是数字,
isNaN:判断不是数值的变量
String类型:字符串类型,需要用单引号或者双引号包起来
字符串用+拼接
字符串与其他类型拼接,其他类型会转成字符串
两边如果都是数值+号就是加法算数
字符串长度:用变量名.length来求
转义符:\反斜杠表示,\n换行,\t空四个位,\r回车,\\反斜杠,\'单引号,\"双引号(写在引号里)
Boolean布尔值类型:字面量:true,false只能写这两个
undefiend:表示一个声明了没有赋值的变量
Null:表示空,类型是Object,是个bug
复杂数据类型:Object创建对象
数据类型的转换
数据类型转换:typeof获取变量的类型
toString()转成字符串类型,变量名.toString()使用
有些值没有 toString()时,用String()来代替,String(变量名)使用
拼接字符串的方式:num + "",当 + 两边一个操作符是字符串类型,
一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行
字符串拼接,返回字符串
Number()转换成数值类型:可以把任意值转换成数值,如果要转换的
字符串中有一个不是数值的字符,返回NaN
转换规则:字符串只有数字时,转为10进制
字符串包含浮点格式,转为小数点
字符串包含16进制,转为相同大小的10进制
字符串为空,转成0
除了这些,其他字符转成NaN
parselnt()转成整数,到第一个小数点结束,第一个字符不是数字或者符号就返回NaN
parselntFloat()转成小数,到第二个小数点或其他字符类型结束,解析的内容里只有整数,解析成整数
+号取正数,-号取负数,-0是原来的数
Boolean():转为布尔值,0 ' ' null undefined NaN会转换成false,其它都会转换成true
学习时间:
全部
算术运算符:+,-,*,/,(%取余)
一元运算符:++ 自身加1,-- 自身减1,前置++: 参与运算输出,后置++:运算完毕输出
逻辑运算符:&&并且,两端都是true才是true,一个为false都是false
||或,两端有一个true就是true
!取反:true是false,false是true
关系运算符:==判断相等,比较值
===判断相等,比较值和数据类型
字符串大小的比较:如果两个字符串中都是全数字,只需比较两个首字符串数字的大小
如果等号两侧有一个是数字类型,则将字符串转化为数字再进行比较
赋值运算符:= += -= *= /= %= , num += 5; 相当于 num = num + 5;
运算符的优先级:括号>点运算符>一元运算符> 算数运算符 >关系运算符>逻辑运算符 >赋值运算符
一元运算符优先级: ++ --
算数运算符优先级: 先* / % 后 + -
关系运算符优先级 > >= < <= == != === !==
逻辑运算符优先级 先&& 后|| !
分支结构:
if语句:只有条件为true时,使用该语句
if else语句:当条件为true时执行if大括号中的代码,为false时执行else中的代码
if else if语句:可以写多个条件,以及执行多个代码
用户输入框:prompt,输入框接收到的内容都是字符串类型
三元运算符:条件?结果1:结果2,条件成立时运行结果1,否则运行结果2
switch语句:使用switch括号中的变量和case后的数据做等值判断,如果相等执行case中的代码
case可以有多个,如果都不相等,执行defau结构,defaultk可以省略,break用在
switch中,表示结束switch,如果没有则程序会继续向下运行
布尔类型隐式转换:0 ‘’ null undefined false 这些是false,其余都是true 1
循环结构:
while语句:while(循环条件){循环体 变量迭代} (语法结构)
什么时候停止循环(循环条件)重复动作(循环体) 变量++(变量迭代)
do while语句:do{循环体 变量迭代 } while(循环条件)(语法结构)
无论条件成不成立,都先执行一遍
for语句:(初始变量;循环条件;变量迭代){循环体} (语法结构)
可以固定循环次数
特殊写法:初始变量,变量迭代可以拿出来,但是分号不能省略
for循环多个变量判断:可以有多个初始变量,循环条件,变量迭代,之间用逗号隔开,当最后一个
循环满足后就停止循环
嵌套循环执行原理:外层执行一次,内层执行一遍
用嵌套循环打印图形:外层是行,内层是每行的数量
break:结束整个循环,执行循环以外的代码(满足循环条件后执行)
可以用在switch和循环中
continue:结束本次循环,执行下一次(直接在变量迭代开始)
只能用在循环中
调试:alert()弹窗
console.log()打印到工作台
debugger关键字:用于停止js,并调用调试工具
断点调试:f12 f10 f8
数组:
创建数组:var 变量名【】,数组中的内容用括号隔开
数组的下标是从0开始,获取数组中的下标,用 数组名【下标】
用变量名.lenght获取数组长度
变量名.length=0,设置数组长度为0,代表清空数组
遍历数组:for(var 变量名=0;变量<数组名.lenght;变量名++)
数组赋值:变量名【下标】,可以覆盖原本的数组,也可以新增数组,如不按顺序来就会出现undifferentiated
变量名.push(’内容‘)只能新增
break有就近原则,离着谁近结束那个循环
函数命名规则:字母,数字,下划线,$符号组成,不能以数字开头,不能有关键字,保留字,区分大小写,驼峰命名法。
函数定义: 用function 函数名(){} (函数声明), var 变量名 function(){}
(函数表达式)
函数的调用:用函数名()来调用,可以多次调用,只有调用才能执行函数
函数的参数:function 函数名(变量名,变量名2){}(带参数的函数声0明),
函数名(变量值1,变量值2)(带参数的函数调用)
函数的返回值:返回值的语法function函数名(变量名1,变量名2){}
return返回值必须写在函数最后面, return后面的内容不会执行,没有return,或者后面没有值,会显示undrfined
返回值的调用:var return=变量名(1, 2)
函数覆盖:两个声明函数名相同,后面会覆盖前面的
相同函数名的调用:会调用离着调用函数最近的
同名函数表达式,向上就近原则,调用离他最近的
函数的内置对象:argumrnts:callee属性:函数的本身
callee.name:函数的名字
length属性:实参的个数
callee.length:形参的个数
匿名函数:匿名函数不能被调用来执行,只能用括号把函数声明括起来,来自调用
函数是一种引用数据类型,(focntion)
因为函数也是一种类型,可以把函数作为参数传进去,也可以返出来
回调函数:在主函数执行完后执行的函数,调用方法,函数名(回调函数名)
同步任务:一个一个执行任务,只有前一个执行完后一个才执行
异步任务:同时执行多个任务
异步机制:所有同步任务都在主线程上执行,行成一个执行栈,主线程之外,还存在一个任务队列,只要异步任务有了结果,就会在任务队列中放置一个事件
一旦执行栈中的所有同步任务执行完毕,系统就会读取任务队列,看看里面还有哪些事件,那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行
主线程不断的重复上面的第三步
异步编程主要有:setTimeout,ajax回调函数,promise对象,generator函数,事件机制
预解析:在js引擎执行js代码之前,会将function,var开头的函数提前解析,
var只会解析声明,所以结果是变量没有赋值
同名函数预解析:同名函数,后面会覆盖前面的,所以结果是后面的
变量声明和函数同名:当出现变量声明和函数同名的时候,只会对函数声明进行提升,变量会被忽略,
按照常规的书写顺序,同名的函数与变量,变量会覆盖函数
作用域:
全局作用域:直接写在script或者在JS文件中的代码,全是全局作用域,也都可以通过window.出来
全局函数是window方法
局部作用域:在函数中的范围成为局部作用域,局部作用域,仅在内部生效
调用函数时,作用域生效,执行完函数作用域失效,每调用一次函数就会创建一个新的作用域
他们之间是独立的
隐式全局作用域:没有var,视为隐式全局变量
对象创建方式:
创建对象字面量方式:var 变量名={属性 }},属性之间用逗号隔开
new Object()创建对象:用var 变量名=new Object()来创建
工厂函数创建对象: createPerson函数是创建多个函数
自定义构造函数:是在创建对象时调用的函数,一边情况下,构造函数名首字母大写
属性和方法:如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特,征
如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能
new关键字:构造函数用于创建一类对象,首字母要大写。构造函数要和new一起使用才有意义。
new在执行时会做四件事情:
1、new会在内存中创建一个新的空对象
2、new会让this指向这个新的对象
3、new会返回这个新对象
this的作用:一般函数直接执行,内部this指向window
this写在对象的方法中,被该对象所调用,this指向该对象
对象使用:通过for in可以遍历一个对象 ,创建一个变量,这个变量每次都会拿到一个属性方法
for in语法结构:for(var 变量名 in 对象名)
delete 对象名.属性 (删除对象属性)
try和catch:try里面放可能出错的代码
catch当try出现错误时,会执行catch中的代码
try没有错误时,不会执行catch,当遇到错误,立马执行catch,try后面的代码不会执行
finally语句:无论try和catch执不执行,都会执行finally里的代码
throw语句:可以自定义错误,需要使用catch结构来捕获,alert(error)参数
内置对象:
Math对象:
常用属性:Math.Pl 圆周率
常用方法:Math.random()生成随机数0~1之间
Math.floor()向下取整12.5 12
Math.ceil()向上取整12.5 13
Math.round()取整四舍五入
Math.abs() 绝对值
Math.max() 最大值
Math.min() 最小值
Math.sin() 正弦
Math.cos() 余弦
Math.pow() 求指数次幂
Math.sqrt() 求平方根
随机数公式:Math.floor(Math.random()*(最大值-最小值)+最小值)
Date对象:Date是个构造函数,用var 变量名 = new Date()获取当前系统时间,如果括号里写数字,所有日期就会按照写的数字来出日期
字符串对象:用var 变量名 = new String(‘内容’)创建
字符方法: charAt() //获取指定位置处字符 charCodeAt() //获取指定位置处字符的ASCII码 str[0] //HTML5,IE8+支持 和charAt()等效 2 字符串操作方法 concat() //拼接字符串,等效于+,+更常用 slice(start,end) //从start位置开始,截取到end位置,end取不到 substring(start,end) //从start位置开始,截取到end位置,end取不到 substr(start,length) 从start位置开始,截取length个字符 indexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从前往后,检索到第一个就结束) lastIndexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从后往前,检索到第一个就结束) trim() //只能去除字符串前后的空白 大小写转换方法 toUpperCase() //转换大写 toLowerCase() //转换小写 search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置 replace(old,new) //替换字符串替换字符串 new替换old split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的
Array对象:
创建数组:
字面量创建:var 变量名=【值1,值2】
关键字创建:var 变量名= nwe Array(值1,值2)
检测一个变量是否是数组:
instanceof返回true就是数组,如果返回false就不是数组
Array.isArray()返回true就是数组,如果返回false就不是数组
valueOf()返回数组本身
栈操作(先进后出):push()添加元素,末尾添加
pop()删除元素,末尾删除
队列操作(先进先出):shift()删除元素,开头删除
unshift()添加元素,开头添加
排序方法:reversr()反转数组,
sort()数组排序
操作方法:concat() 把参数拼接到当前数组、 或者用于连接两个或多个数组
slice(开始下标,结束下标)
截取数组:charAt() //获取指定位置处字符
charCodeAt() //获取指定位置处字符的ASCII码
str[0] //HTML5,IE8+支持 和charAt()等效
2 字符串操作方法
concat() //拼接字符串,等效于+,+更常用
slice(start,end) //从start位置开始,截取到end位置,end取不到
substring(start,end) //从start位置开始,截取到end位置,end取不到
substr(start,length) 从start位置开始,截取length个字符
indexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从前往后,检索到第一个就结束)
lastIndexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从后往前,检索到第一个就结束)
trim() //只能去除字符串前后的空白 大小写转换方法
toUpperCase() //转换大写
toLowerCase() //转换小写
search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置
replace(old,new) //替换字符串替换字符串 new替换old
split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的
位置方法:indexOf()都是找位置 返回索引值 没有找到返回 -1,第一次出现位置
lastInfexOf()如果没找到返回-1,元素最后一次出现的位置
数组迭代:forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数
every() some()方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
some(),every()方法的参数是一个回调函数,回调函数中的第一个参数是数组的元素,第二个参数是数组的索引
some(),every()方法都会返回新的数组
every():判断回调函数中的表达式是否全部满足,如果满足,返回值就是true,只要有一个不满足就是false
some判断回调函数中的表达式是否有一个满足,如果至少一个满足,返回值就是true
filter ()与map ():
filter()根据指定条件过滤元素,返回新数组 ;
map()数根据数学运算,返回新数组
清空数组:arr=【】,arr.length=0,arr.splice(0.arr.length)
数组转化字符串:
join()数组转化为字符串,以参数分割
算术运算符:+,-,*,/,(%取余)
一元运算符:++ 自身加1,-- 自身减1,前置++: 参与运算输出,后置++:运算完毕输出
逻辑运算符:&&并且,两端都是true才是true,一个为false都是false
||或,两端有一个true就是true
!取反:true是false,false是true
关系运算符:==判断相等,比较值
===判断相等,比较值和数据类型
字符串大小的比较:如果两个字符串中都是全数字,只需比较两个首字符串数字的大小
如果等号两侧有一个是数字类型,则将字符串转化为数字再进行比较
赋值运算符:= += -= *= /= %= , num += 5; 相当于 num = num + 5;
运算符的优先级:括号>点运算符>一元运算符> 算数运算符 >关系运算符>逻辑运算符 >赋值运算符
一元运算符优先级: ++ –
算数运算符优先级: 先* / % 后 + -
关系运算符优先级 > >= < <= == != === !==
逻辑运算符优先级 先&& 后|| !
分支结构:
if语句:只有条件为true时,使用该语句
if else语句:当条件为true时执行if大括号中的代码,为false时执行else中的代码
if else if语句:可以写多个条件,以及执行多个代码
用户输入框:prompt,输入框接收到的内容都是字符串类型
三元运算符:条件?结果1:结果2,条件成立时运行结果1,否则运行结果2
switch语句:使用switch括号中的变量和case后的数据做等值判断,如果相等执行case中的代码
case可以有多个,如果都不相等,执行defau结构,defaultk可以省略,break用在
switch中,表示结束switch,如果没有则程序会继续向下运行
布尔类型隐式转换:0 ‘’ null undefined false 这些是false,其余都是true 1
循环结构:
while语句:while(循环条件){循环体 变量迭代} (语法结构)
什么时候停止循环(循环条件)重复动作(循环体) 变量++(变量迭代)
do while语句:do{循环体 变量迭代 } while(循环条件)(语法结构)
无论条件成不成立,都先执行一遍
for语句:(初始变量;循环条件;变量迭代){循环体} (语法结构)
可以固定循环次数
特殊写法:初始变量,变量迭代可以拿出来,但是分号不能省略
for循环多个变量判断:可以有多个初始变量,循环条件,变量迭代,之间用逗号隔开,当最后一个
循环满足后就停止循环
嵌套循环执行原理:外层执行一次,内层执行一遍
用嵌套循环打印图形:外层是行,内层是每行的数量
break:结束整个循环,执行循环以外的代码(满足循环条件后执行)
可以用在switch和循环中
continue:结束本次循环,执行下一次(直接在变量迭代开始)
只能用在循环中
调试:alert()弹窗
console.log()打印到工作台
debugger关键字:用于停止js,并调用调试工具
断点调试:f12 f10 f8
数组:
创建数组:var 变量名【】,数组中的内容用括号隔开
数组的下标是从0开始,获取数组中的下标,用 数组名【下标】
用变量名.lenght获取数组长度
变量名.length=0,设置数组长度为0,代表清空数组
遍历数组:for(var 变量名=0;变量<数组名.lenght;变量名++)
数组赋值:变量名【下标】,可以覆盖原本的数组,也可以新增数组,如不按顺序来就会出现undifferentiated
变量名.push(’内容‘)只能新增
break有就近原则,离着谁近结束那个循环
函数命名规则:字母,数字,下划线,$符号组成,不能以数字开头,不能有关键字,保留字,区分大小写,驼峰命名法。
函数定义: 用function 函数名(){} (函数声明), var 变量名 function(){}
(函数表达式)
函数的调用:用函数名()来调用,可以多次调用,只有调用才能执行函数
函数的参数:function 函数名(变量名,变量名2){}(带参数的函数声0明),
函数名(变量值1,变量值2)(带参数的函数调用)
函数的返回值:返回值的语法function函数名(变量名1,变量名2){}
return返回值必须写在函数最后面, return后面的内容不会执行,没有return,或者后面没有值,会显示undrfined
返回值的调用:var return=变量名(1, 2)
函数覆盖:两个声明函数名相同,后面会覆盖前面的
相同函数名的调用:会调用离着调用函数最近的
同名函数表达式,向上就近原则,调用离他最近的
函数的内置对象:argumrnts:callee属性:函数的本身
callee.name:函数的名字
length属性:实参的个数
callee.length:形参的个数
匿名函数:匿名函数不能被调用来执行,只能用括号把函数声明括起来,来自调用
函数是一种引用数据类型,(focntion)
因为函数也是一种类型,可以把函数作为参数传进去,也可以返出来
回调函数:在主函数执行完后执行的函数,调用方法,函数名(回调函数名)
同步任务:一个一个执行任务,只有前一个执行完后一个才执行
异步任务:同时执行多个任务
异步机制:所有同步任务都在主线程上执行,行成一个执行栈,主线程之外,还存在一个任务队列,只要异步任务有了结果,就会在任务队列中放置一个事件
一旦执行栈中的所有同步任务执行完毕,系统就会读取任务队列,看看里面还有哪些事件,那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行
主线程不断的重复上面的第三步
异步编程主要有:setTimeout,ajax回调函数,promise对象,generator函数,事件机制
预解析:在js引擎执行js代码之前,会将function,var开头的函数提前解析,
var只会解析声明,所以结果是变量没有赋值
同名函数预解析:同名函数,后面会覆盖前面的,所以结果是后面的
变量声明和函数同名:当出现变量声明和函数同名的时候,只会对函数声明进行提升,变量会被忽略,
按照常规的书写顺序,同名的函数与变量,变量会覆盖函数
作用域:
全局作用域:直接写在script或者在JS文件中的代码,全是全局作用域,也都可以通过window.出来
全局函数是window方法
局部作用域:在函数中的范围成为局部作用域,局部作用域,仅在内部生效
调用函数时,作用域生效,执行完函数作用域失效,每调用一次函数就会创建一个新的作用域
他们之间是独立的
隐式全局作用域:没有var,视为隐式全局变量
对象创建方式:
创建对象字面量方式:var 变量名={属性 }},属性之间用逗号隔开
new Object()创建对象:用var 变量名=new Object()来创建
工厂函数创建对象: createPerson函数是创建多个函数
自定义构造函数:是在创建对象时调用的函数,一边情况下,构造函数名首字母大写
属性和方法:如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特,征
如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能
new关键字:构造函数用于创建一类对象,首字母要大写。构造函数要和new一起使用才有意义。
new在执行时会做四件事情:
1、new会在内存中创建一个新的空对象
2、new会让this指向这个新的对象
3、new会返回这个新对象
this的作用:一般函数直接执行,内部this指向window
this写在对象的方法中,被该对象所调用,this指向该对象
对象使用:通过for in可以遍历一个对象 ,创建一个变量,这个变量每次都会拿到一个属性方法
for in语法结构:for(var 变量名 in 对象名)
delete 对象名.属性 (删除对象属性)
try和catch:try里面放可能出错的代码
catch当try出现错误时,会执行catch中的代码
try没有错误时,不会执行catch,当遇到错误,立马执行catch,try后面的代码不会执行
finally语句:无论try和catch执不执行,都会执行finally里的代码
throw语句:可以自定义错误,需要使用catch结构来捕获,alert(error)参数
内置对象:
Math对象:
常用属性:Math.Pl 圆周率
常用方法:Math.random()生成随机数0~1之间
Math.floor()向下取整12.5 12
Math.ceil()向上取整12.5 13
Math.round()取整四舍五入
Math.abs() 绝对值
Math.max() 最大值
Math.min() 最小值
Math.sin() 正弦
Math.cos() 余弦
Math.pow() 求指数次幂
Math.sqrt() 求平方根
随机数公式:Math.floor(Math.random()*(最大值-最小值)+最小值)
Date对象:Date是个构造函数,用var 变量名 = new Date()获取当前系统时间,如果括号里写数字,所有日期就会按照写的数字来出日期
字符串对象:用var 变量名 = new String(‘内容’)创建
字符方法: charAt() //获取指定位置处字符 charCodeAt() //获取指定位置处字符的ASCII码 str[0] //HTML5,IE8+支持 和charAt()等效 2 字符串操作方法 concat() //拼接字符串,等效于+,+更常用 slice(start,end) //从start位置开始,截取到end位置,end取不到 substring(start,end) //从start位置开始,截取到end位置,end取不到 substr(start,length) 从start位置开始,截取length个字符 indexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从前往后,检索到第一个就结束) lastIndexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从后往前,检索到第一个就结束) trim() //只能去除字符串前后的空白 大小写转换方法 toUpperCase() //转换大写 toLowerCase() //转换小写 search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置 replace(old,new) //替换字符串替换字符串 new替换old split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的
Array对象:
创建数组:
字面量创建:var 变量名=【值1,值2】
关键字创建:var 变量名= nwe Array(值1,值2)
检测一个变量是否是数组:
instanceof返回true就是数组,如果返回false就不是数组
Array.isArray()返回true就是数组,如果返回false就不是数组
valueOf()返回数组本身
栈操作(先进后出):push()添加元素,末尾添加
pop()删除元素,末尾删除
队列操作(先进先出):shift()删除元素,开头删除
unshift()添加元素,开头添加
排序方法:reversr()反转数组,
sort()数组排序
操作方法:concat() 把参数拼接到当前数组、 或者用于连接两个或多个数组
slice(开始下标,结束下标)
截取数组:charAt() //获取指定位置处字符
charCodeAt() //获取指定位置处字符的ASCII码
str[0] //HTML5,IE8+支持 和charAt()等效
2 字符串操作方法
concat() //拼接字符串,等效于+,+更常用
slice(start,end) //从start位置开始,截取到end位置,end取不到
substring(start,end) //从start位置开始,截取到end位置,end取不到
substr(start,length) 从start位置开始,截取length个字符
indexOf() //返回指定内容在元字符串中的位置,如果没有,返回-1;(从前往后,检索到第一个就结束)
lastIndexOf() //返回指定内容在元字符串中的位置,如果没有,返回-1;(从后往前,检索到第一个就结束)
trim() //只能去除字符串前后的空白 大小写转换方法
toUpperCase() //转换大写
toLowerCase() //转换小写
search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置
replace(old,new) //替换字符串替换字符串 new替换old
split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的
位置方法:indexOf()都是找位置 返回索引值 没有找到返回 -1,第一次出现位置
lastInfexOf()如果没找到返回-1,元素最后一次出现的位置
数组迭代:forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数
every() some()方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
some(),every()方法的参数是一个回调函数,回调函数中的第一个参数是数组的元素,第二个参数是数组的索引
some(),every()方法都会返回新的数组
every():判断回调函数中的表达式是否全部满足,如果满足,返回值就是true,只要有一个不满足就是false
some判断回调函数中的表达式是否有一个满足,如果至少一个满足,返回值就是true
filter ()与map ():
filter()根据指定条件过滤元素,返回新数组 ;
map()数根据数学运算,返回新数组
清空数组:arr=【】,arr.length=0,arr.splice(0.arr.length)
数组转化字符串:
join()数组转化为字符串,以参数分割