js学习笔记

1、匿名自执行函数:

      首先匿名自执行函数属于闭包,闭包的主要作用就是使函数拥有私有变量成为可能。那么匿名自执行函数作为一个容器,内部可以访问外部变量,而外部不能访问外内部变量。

      其次,匿名说明本函数声明无特殊意义,只是为了划分闭包。

      最后,自执行相当于声明多个函数,但不调用,当因为某些动态事件(比如鼠标点击)触发该函数时才执行,因为是由实时时间触发执行,所以被称为自执行。

2、getElementById调用的元素,直接用变量名。getElementsByClassName和getElementsByTagName调用的元素,用变量名.[0]。

3、setTimeout和setInterval的区别:

      setTimeout表示在指定时间后调用事件,只执行一次;

      setInterval表示在制定时间间隔后调用事件,只要不使用clearInterval就会不停的调用事件。

      将setInterval赋给某一对象是为了及时清除。

4、setInterval最小时间单位1ms。

5、js脚本文件放在body底部,可以改善显示速度。

6、再次(重复)声明某个变量,将不会改变他的值,而非报错。

7、定义变量时无数据类型区分,字符串和数字混合相加时,无论谁前谁后都变成字符串。

8、数组的类型是对象,用方括号表示(不同于c的大括号)。

9、null和空("")也是对象,undefined用于清空值,他的类型也是undefined。

10、函数参数不需要定义数据类型(因为只有一种var即可表示所有,var默认不写)。

11、函数调用时不加括号返回函数定义。

12、==代表值相等,===代表值和类型都相等,对象无法进行比较。

13、indexOf特点是使用第二个起始位置参数,search特点是使用更强大的正则表达式,两者功能都是搜索子串。

14、slice可以用负位置,substring不可以用负位置,substr第二个参数为长度,第一个参数可以为负。

15、replace函数返回新字符串,不改变原有字符串,concat、slice也具有同样的特性。

16、trim函数作用:删除两边空白符。

17、访问字符串var str时不能用str[0]访问,只能用str.charAt(0)访问。

18、浮点数运算不一定准,可以先让浮点数变为整数运算再变回浮点数。

19、四则运算符号只有加号对数字和字符串有歧义,剩下的符号面对字符串也会当成数字运算。

20、NaN 的数据类型是数值;
数组的数据类型是对象;
日期的数据类型是对象;
null 的数据类型是对象;
未定义变量的数据类型是 undefined;
尚未赋值的变量的数据类型也是 undefined;
function的数据类型是函数,但本质上是对象。

21、toString()函数括号内有数字功能为进制转换,括号内无数字时功能为转换为字符串,默认用逗号隔开,若想改变隔开方式,用join。

22、toExponential() 为转换为指数计数法,中间参数为小数点后的字符数。

23、JS数组中数组元素可以为各种类型,甚至函数和数组;添加新元素用push();数组下标只能为数字;数组类型为对象。

24、pop删除数组最后一个元素,shift删除数组第一个元素,splice指定位置进行插入删除元素。

25、闭包指的是有权访问父作用域的函数,即使在父函数关闭之后。

26、对于匿名函数,存放在变量中的函数不需要函数名。他们总是使用变量名调用。

27、在 JavaScript 中,可以在使用变量之后对其进行声明,但初始化不会被提升;函数声明也可以提升;用 let 或 const 声明的变量和常量不会被提升。

28、自调用函数就是在一个函数外面套了一层括号表示这是个表达式,然后后面再加一对括号表示自调用。

29、为创建新对象而设计的函数,被称为对象构造函数(对象构造器)。

30、this属于关键词,指的是拥有当前代码的对象。

31、call() 方法分别接受参数,apply() 方法接受数组形式的参数。

32、严格模式:无法使用未声明的变量。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值