您的位置:首页 > Web前端 > JavaScript

javascript忍者秘籍

2017-11-02 21:16 225 查看
一、函数

1、函数是第一型对象

2、浏览器负责事件轮询和事件派发,代码负责建立事件处理程序(handler)

3、浏览器轮询是单线程的

4、回调函数

5、函数提前引用

6、作用域由函数声明,而不是代码块

8、从参数到函数形参

如果实际传递的参数比定义的多,则超出部分不匹配

如果实际传递的参数比定义的少,匹配不到的值为undefined

9、函数的隐式参数:

arguments:类数组形式,可以遍历,但是却不是数组,没有数组其他特性

this:调用上下文

7、不同的函数调用,函数上下文:

- 作为函数调用:函数上下文this是全局上下文,window

- 作为方法进行调用:函数上下文this是对应的对象

- 作为构造进行调用:函数调用前使用new关键字,this新分配一个对象

- 通过aplay或者call调用,所有函数都具有的方法

10、匿名函数

避免不必要的函数名称污染全局空间

11、递归

包含有函数自身的调用,有终止条件

12、函数存储

!!是将数据成功转成等效布尔的方式

13、函数重载

引导Array函数将一个非数组当成一个数组来看待

Array.prototype.slice.call(els)


14、函数判断

Object.prototype.toString.call(fn)===’[object Function]’

15、函数拥有length属性

用于指明定义参数的个数

16、闭包

能够让函数访问所有变量和函数

即时函数

二、函数原型

1、原型上定义的属性和功能会自动应用到对象的实例上

2、所有的函数在定义后都有一个原型属性,该值为空对象

3、函数普通调用和作为构造器调用的区别:

函数作为构造器进行调用时,函数的原型是新对象的概览,通过原型给函数附加属性。new操作符将函数作为构造器进行调用,新创建一个对象,返回改新对象的引用,创建的实例执行该新对象。

4、原型允许我们定义一些属性和方法,这些属性和方法会自动应用大新对象的实例上

三、正则表达式

如果一个字符不是特殊字符,也不是操作符,则必须出现在匹配字符串中

1 、[abc]匹配字符集中任意一个字符

2、[ ^abc]匹配abc字符以外的字符

3、转义\?

4、匹配开始^test

5、匹配结束test$

6、重复出现

t?esfg表示t可以出现一次或根本不出现

t+esfg表示t出现一次或者多次

t*esfg表示t出现零次或者多次

t{2,5}esfg表示t出现2-5次

t{2,}esfg表示t出现2次,或者多于2次

7、预定义字符类

\d:[0-9]

\D:[^0-9]

\w:[A-Za-z0-9]

\W:[^A-Za-z0-9]

\s:任意空白字符

\S:任意非空白字符

\b:单词边界

\B:非单词边界

.:除新行以外的字符

8、()

9、|

10、反向引用,/^([abc])f\1/i其中\1表示匹配第一次捕获字符串一样

11、包括编译和执行两个阶段

编译:通过字面量或者构造器方式,构造器方法允许使用变量

编译后可以使用test(str)函数执行

四:定时器

setTimeout和setInterval工作模式不一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 javascript 对象