饥人谷技术博客

JavaScript(基础知识注意点1)

2016-03-22  本文已影响0人  种谔

1.变量作用域

2.变量提升

3.严格模式

4.几大类型的判断

注:这边的typeof 是一个函数,返回值是一个string字符串

5.关于IF判断语句注意点

6.类型转化的问题

1.在两个操作数都是数字的时候,会做加法运算
2.两个参数都是字符串或在有一个参数是字符串的情况下会把另外一个参数转换为字符串做字符串拼接
3.在参数有对象的情况下会调用其valueOf或toString
4.在只有一个字符串参数的时候会尝试将其转换为数字
5.在只有一个数字参数的时候返回其正数值```



###7."短路"取值问题###
- 一般用于函数的参数取默认值,如下(0为默认值):
var s="name"||0;//s="name"
var s=undefined||0;//s=0;```

8."=="运算判断###

1.如果一个是null,一个是undefined,那么相等
2.如果一个是数字,一个是字符串,先将字符串转为数字,然后比较
3.如果一个值是true/false则将其转为1/0比较
4.如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较
5.其它就不相等了```

###9.其他要注意的点###
- 浮点数是不精确的(由计算机的原理导致),所以如果要用浮点数做比较,最好使用减法然后结果小于某个较小的小数。
- String中的trim()方法在IE9以下无法使用,建议自己写一个一样功能的函数绑定到string上。(例如:```String.prototype.fun1=function (){ console.log("successful")};```)
- 空数组和null的typeof 为"object"
- void运算符的作用是执行一个表达式,然后返回undefined。
- 逗号运算符用于对两个表达式求值,并返回后一个表达式的值。
- switch语句进行比较的时候是全等于(===)操作,不会发生类型转换,切条件可以是任意表达式,比如某函数返回值。
- with语句很少用到,作用是把代码的作用域设置到一个特定对象里。

###10.ES6的新点(关于基础的)###
- 引入新数据结构map,用法:var map=new map();
- 引入新数据结构set,用法:var set=new set();
- for ... of循环(与for in的区别只遍历集合自身的属性)。
- rest参数 接受函数中多余的参数,比函数中内置的arguments方便。(使用方式...rest)。
- 为了解决块级作用域,ES6引入了新的关键字let,用let替代var可以申明一个块级作用域的变量。
- ES6标准引入了新的关键字const来定义常量,const与let都具有块级作用域。
上一篇 下一篇

猜你喜欢

热点阅读