函数:

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

有些时候我们不希望他被销毁。

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

Fn()调用完毕后得到的是一个匿名函数,但是这个函数在fn这个作用域下定义的,所以这个匿名函数内部的变量在fn作用域下查找。这种写法可以使函数内部的变量不被销毁。

基类Object的子类有

  Function    Array     Number  Boolean          String          Date       Math     RegExp

  函数          数组           数字   布尔    字符串  日期     算数        正则    都是类。本质是函数。

String类

定义字符串的方法

var st=new String("hello world")

简写

var st="hello world"

1.     字符串的加号运算        +            仅仅就是拼接     这种方法     叫字符串拼接。

2.  字符串prototype上的方法

(1)   chartAt()  返回在指定位置的字符        var  s=st.charAt(2)

(2) Concat()  链接两个或多个字符串,并返回新的 var s=st.concat(sd,"hello world");

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

(4) lastIndexOf()  功能和indexOf一样    不过是从后往前检索

(5) match()

(6) Search()    

(7) Replace()

(8)    Slice()   截取字符串中的一部分

    前闭后开     包含2但是不包含7

(9)  Splice()  将字符串按某种形式分割成数组

(10)   substr()  也是截取和lslice有点区别

(11) substrig()  跟slice一样

(12)toLowercase()  将字符串中的字符都变成小写

(13)toUppercase()  将字符串中的字符都变成大写

(14)trim()    去掉字符串两端的空白

补充

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

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

  

Array       数组这个类

  数组的定义

  var arr=new  Array("12","zhangsan")

  简写

  var    arr=[12,"张三"]

基本的方法

1.Push()     在数组的结尾处添加一个新元素。返回值是数组长度

2.unshift()在开始出添加一个新元素。返回的是数组长度

3.pop()删除数组中的最后一个元素。返回的是删除的那个元素

4.shift()删除数组中的第一元素。返回的是删除的那个元素

5.slice()截取数组中的一部分,并返回新的数组。对原来的数组没有影响

6.spice() 在数组中添加或删除元素。

从第三个开始向后删除一个 添加三个新的

  7.sort() 给数组中的元素排序

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

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

  10.concat()  合并多个数组,并返回新的

  11.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.join()  将数组中的所有元素转换成一个字符串

js中级小知识3的更多相关文章

  1. js中级小知识1

    首先我们复习之前的小知识,本期博客与之前有关 js数据类型 基本数据类型:string    undefined         null         boolean          numbe ...

  2. js中级小知识5

    元素的属性 div.attributes是所有标签属性构成的数据集合 div.classList是所有class名构成的数组集合 在classList的原型链上可以看到add()和remove() 1 ...

  3. js中级小知识4

    1.针对表单 form   input     select      textarea type="radio/checkbox/passdord/button/submit/reset/ ...

  4. js中级小知识2

    1.面向对象 js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差.所以作者就收到java和c的影响,往面向对象靠齐.js天生有一个Objec ...

  5. js中级小知识

    1.作用域链 作用域:浏览器给js的一个生存环境(栈内存). 作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行 ...

  6. js的小知识7

    1.函数都有返回值...... 而方法的本质也是函数,所有也有返回值. Document.getElementById()返回的是获取的标签 getElementByClassName()和getEl ...

  7. 关于js的小知识

    基本数据类型:Undefined, Null, Boolean, Number, String . 引用数据类型:Object . 个人觉得对Java等语言的程序员来说,最不能接受的就是下面这样的代码 ...

  8. JS零碎小知识

    filter()方法对数组进行过滤,生成新数组 var aqiNewData = aqiData.filter(function(data){ return data[1]>60; }); // ...

  9. js 简单小知识

    1. javascript的typeof返回哪些数据类型: string, boolean, number, undefined, function, object 2. split() join() ...

随机推荐

  1. C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全

    前言: C++的异常处理机制是用于将运行时错误检测和错误处理功能分离的一 种机制(符合高内聚低耦合的软件工程设计要求),  这里主要总结一下C++异常处理的基础知识, 包括基本的如何引发异常(使用th ...

  2. centos7上 docket无权限的问题

    2.4 centos7上 docket无权限的问题,解决方案: https://stackoverflow.com/questions/24288616/permission-denied-on-ac ...

  3. 构建分布式Tensorflow模型系列:CVR预估之ESMM

    https://zhuanlan.zhihu.com/p/42214716 本文是“基于Tensorflow高阶API构建大规模分布式深度学习模型系列”的第五篇,旨在通过一个完整的案例巩固一下前面几篇 ...

  4. jquery监测文本框变化

    $("#mobile").on('keyup paste blur', function () {            var mobile = $(this).val();   ...

  5. 不同浏览器Firefox、IE6、IE7、IE8、IE9定义不同CSS样式

    有时候我们在制作网页的时候,会遇到不同浏览器,对填充和边距显示的不同效果.导致心情纳闷现在提供解决这个困扰的方法! 对FF.Opear等支持Web标准的浏览器与比较顽固的IE浏览器进行针对性的CSS ...

  6. EAS开发报错 :数据库表 或 视图 不存在

      一:原因分析     建模之后,发布数据时未能及时在数据库创建相应的表格或视图.   二:解决办法     建模视图下——右键模型——更新数据库.   三:名称字段.描述字段在数据库里的存储格式 ...

  7. Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed.

    org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nes ...

  8. 微信小程序官方DEMO解读

    我们在开始微信小程序开发的时候,对JS,HTML等前端知识一无所知,完完全全就是门外汉在尝试一个新的方向. 在下载好开发工具,微信就已经提供了一个DEMO例子: 从程序开发的角度来看这个陌生的目录结构 ...

  9. Linux工作环境:CentOS7最小安装+Xfce桌面环境

    ref: https://blog.csdn.net/smstong/article/details/44802989 3.1 执行CentOS7 最小安装去官网下载CentOS-7.0-1406-x ...

  10. Python实现正则表达式匹配任意的邮箱

    首先来个简单的例子,利用Python实现匹配163邮箱的代码: #-*- coding:utf-8 -*- __author__ = '杨鑫' import re text = input(" ...