函数在调用的时候回形成一个私有作用域,内部变量不会被外面访问,这种保护机制叫做闭包,这就意味着函数调用完了,这个函数形成的栈内存就会被销毁,但有时候我们不希望被销毁。
* 函数归属谁和他的调用没有关系,只和他在哪定义有关。 fn调用完毕后的到一个匿名函数,但这个函数在fn这个作用域下定义的,所以这个匿名函数内部啊啊在fn下查找。
基类Object的子类有:
1.Function 函数
2.Array 数组
3.Number 数字
4.Boolean 布尔
5.String 字符串
6.Date 日期
7.Math 算数
8.RegExp 正则
字符串加号运算 ····+······仅仅代表拼接的意思,这种方法叫做字符串的拼接
字符串prototype(原型)上的方法:
1.chartAt()······返回在指定位置的字符
2.Concat()······连接两个或多个字符串并返回新的值
3.indexOf()······返回某个字符在字符串中首次出现的位置,没有就返回-1
4.lastindexOf()······与indexOf的用法相同,只不过是从后往前找
5.match()
6.search()
7.Replace()
8.Slice()······截取字符串的一部分
9.Split()······将字符串按某种形式分割成数组
10substr()·····也是截取字符串,与Slice有点区别
11.substring()······与Slice用法相同
12.toLowerCase()······将字符串中的字符都变成小写
13.toUpperCase()·····将字符串中的字符都变成大写
14.trim()·····去掉字符串两边的空白
补充:每个函数天生自带一个return,如果写ruturn返回什么就是什么,如果不写return就返回undefined。
类·他的本质也是函数里面也有return,但默认值是Object,如果强制ruturn一个值,不会造成影响,如果return是一个对象,就好造成影响。
arr数组这个类:
基本方法:
1.Push()······在数组的结尾处添加一个新的元素
2.unshift()······在数组的开头处添加一个新的元素,返回值是这个数组长度
3.pop()······删除数组中最后一个元素,返回值是删除的那个元素
4.shift()······删除并返回数组中的第一个元素,返回的是删除的那个元素
5.slice()······截取数组中的一部分,并返回新的数组,对原数组没有影响
6.splice()······在数组中添加或删除元素
7.sort()······给数组中的元素排序
8.reverse()······反转数组中元素的顺序
9.toString()······将字符中的格式替换成字符串的格式,并返回结果。