26)

函数:

  函数在调用的时候,会形成一个私有作用域,内部的变量不会被外面访问,这种保护机制叫闭包。这就意味着函数调用完毕,这个函数会形成栈内存会被销毁

  函数归属谁,跟她在哪调用没有关系,跟在哪定义有关

补充:

  每个函数都天生自带一个return,如果写return,返回什么是什么,如果不写,就是undefined

  类,他的本质也是函数,里面也有return,但默认是object,如果强制return,不会造成影响,如果return是个对象,就会造成影响

基类Object子类:

  Function函数  Array数组  Number数字  Boolean布尔  String字符串  Date日期  Math算数  RegExp正则

  都是类,本质都是函数,

  String类:

    字符串中的定义方法 var st=new string(“hollow world”)

    简写 var st=“Holle world”

    字符串加号运算+仅仅是拼接,这种方法叫字符串拼接

    字符串prototype上的写法——

        charAt()返回指定位置的字符

        concat()连接两个或多个字符,幷返回新的字符串

        indexOf()返回某个字符串,在字符串中首次出现的位置(下标),如果没有-1

        lastIndexOf()从后向前搜索字符串出现的位置,并从0开始计算返回字符串最后出现的位置

        slice()提取字符串的某个部分,并以新的字符串返回被提取的部分1<=new<4   【前闭后开,包括1,小于4】

        split()把一个字符串分割成字符串数组

        substr()也是截取字符串,和slice有区别 【两个参数,一个是开始位置,一个是向后截取的个数】

        substring()跟slice一样

        toLowerCase() 转小写字母

        toUpperCase() 转大写字母

        trim()除去字符串两端空白

  Array 数组这个类: 

    数组的定义 var arr =new Array(“12”,“zhang”)

    简写 var arr=[12,"zhang"]

    基本方法——

      push()在数组结尾添加一个新元素,返回值是指定数组长度

      unshift () 在开始处添加一个新元素,返回值是数组的长度

      pop () 删除数组中最后一个元素,返回值是删除的那个元素

      shift () 删除数组中第一个元素,返回值是删除的那个元素

      slice () 截取数组中一部分,幷返回新的数组.对原来的数组没有影响   前闭后开(包括1,不包括3)

      splice () 在数组中添加或删除元素  arr.splice(1,2,"谭") 从第一个开始删2个,添加一个新的“谭”

      sort () 给数组排序

      reverse () 反转数组中元素的顺序

      toString () 将数组转换成字符串格式中的数组,幷返回结果

      concat () 合并多个数组,幷返回新的值

      indexof () 检索数组中的元素,幷返回他的所在位置,没有就是-1

数组经典面试题

   数组去重:

      var arr=[12,45,12,23,12,23];
      var ass=[];
      for(var i=0;i<arr.length;i++){
          if(ass.indexOf(arr[i])==-1){
                ass.push(arr[i])
          }
      }
      console.log(ass)      ||    [ 12 , 45 , 23 ]

posted @ 2018-11-05 20:47  黑太阳-  阅读(130)  评论(0编辑  收藏  举报