11.5
函数:
函数在调用的时候,会形成一个私有作用域,内部的变量不会被外部访问,这种保护机制叫闭包,这就意味着函数调用完毕,这个函数形成的栈内存(作用域)会被销毁。有时候我们不希望被销毁。
函数归属谁,跟它在哪里调用 没有关系,跟在哪里定义有关。
基类Object的子类:
Function--函数 Array--数组 Number--数字 Bollean--布尔 String--字符串 Data--日期 Math--算数 RegExp--正则
他们都是类,本质都是函数。
String 类
定义字符串的方法 Var st =new String(“hello world”)简写:Var st=“hello world”
1、字符串的加号运算 + 仅仅就是拼接,这种方法叫字符串拼接。
2、字符串prototype上的方法
(1)charAt() 返回在指定位置的字符。 例:var s=st.charAt()
(2)Concat() 链接两个或多个字符串,并返回新的字符串。
(3)indexOf() 返回某个字符串在字符串中首次出现的位置,没有找到就是-1。
(4)lastIndexOf() 功能和indexOf一样,不过是从后-往前。
(5)match()
(6)Search()
(7)Replace()
(8)Slice() 截取字符串中的一部分,前闭后开
(9)split() 将字符串按某种形式分割成数组。
(10)substr() 也是截取字符串。 例:var sd=st.substr(2,5) 从2开始向后截取5个
(11)substring() 跟slice一样
(12)toLowerCase() 将字符串中的字符变成小写。
(13)toUpperCase() 将字符串中的字符变成大写。
(14)trim() 去掉字符串两端的空白。
补充:每个函数都天然自带一个return。如果写return返回什么就是什么,如果不写 就是undefined。
类 它的本质也是函数梦里面也有return 但默认是object ,如果强制return一个值,不会造成影响,如果return是个对象,就会造成影响。
Array 数组这个类
数组的定义:
var arr=new Array(“12”,“zhans”)
简写: var arr=[12,"张三"]
基本的方法:
1) Push() 在数组的结尾处添加一个新元素。返回值是数组长度。
2)unshift() 在数组开始处添加一个新元素。返回值是数组长度。
3) pop() 删除数组中的最后一个元素,返回的是删除的元素。
4)shift() 删除数组的第一个元素, 返回的是删除的元素。
5)slice() 截取数组中的一部分,并返回截取的数组 ,对原来数组没有影响。 前闭后开
6)splice() 在数组中添加或删除元素。 splice(从哪个开始,几个,添加的元素)
7)sort() 给数组中的元素排序。
8)reverse() 反转数组中的元素的顺序。
9)toString() 将数组转换从字符串格式的数组。
10)concat() 合并多个数组并返回。
11)indexOf() 检索数组中的元素,并返回他所在的位置,没有就是-1.
数组去重
var arr=[12,45,12,23,35,23]
var as=[ ]
for (var i=0,i<arr.length,i++){
if(as.indexOf(arr[i])==-1){
as.push(arr[i])
}
console.log(as)