睡前总结了一些实用的基础小知识,有些比较冷门儿萌芽个人觉得还算有意思跟大家分享一下~
1.类型
2.操作符
3.语句
4.函数
类型
1. typeof
是一个操作符而不是一个函数,主要用于检测数据类型萌芽很喜欢这个!
2. NAN
是一个特殊数值,表示“非数值”。
isNAN() 判断是否为NAN类型,如果是则返回true,里面的数值会进行类型转换如果可以转换为数值则返回false不要搞混了哦。(有趣的是 NAN == NAN 返回的是false!他自己也不等于自己,顺便一提null == undefined 返回的是true哦)
3.基础类型
Number() String() Boolean()
这三种基础数据类型封装了类型转换方法,非常的有趣。
3.1数值转换
- 字符串转number
- Number() 会进行类型转换的转换方式
- parseInt() 遇到非数字字符则不再进行(常用)
- parseFloat()和上面相同只不过这个带小数
3.2双引号和单引号
【题外话】说个好玩的,虽然在JavaScript中双引号和单引号都是string类型没有任何区别,但是在PHP当中双引号会解析内容,而单引号不会感觉还是蛮有意思的。
操作符
1.一元操作符
一元操作符真的是很神奇,比如说 :
var num = "3";
num++;
输出结果为number类型的4
还有操作符会影响到之前定义的变量的值!
var num = 10,
num1 = 5;
num1 = --num + num1;
//输出结果: num => 9,num1 => 14
2.条件判断符
“23” < "3" 吗?返回居然是false!以为字符串进行条件判断会将字符转换为ASCII码值!如果是“23” > 3的话则是true,因为他会转换为数字类型。
如果是字母 “a” < “b” 的话则是返回true。
3.相等操作符
相等和不相等(== !=):先转换再比较。
全等和不全等(=== !===):不转换比较,比较值和类型。(推荐使用)
语句
和大多数编程语言一样萌芽感觉这个没啥好讲的。
switch语句中加入了 default ,其实也就相当于一个else语句。
break:跳出当前循环 体强制继续执行后面的句子。
continue:不再往下执行返回顶部重新开始。
以上两种配合label语句食用更佳哦!不过一般都是用于循环嵌套的情况下。
函数
1.参数的理解
JavaScript函数中参数的定义也并不那么严谨,就算你不给他定义参数你也能照传不误,他的参数是以数组的形式存储的,所以无论你写入多少参数都不影响,你可以通过arguments[0],arguments[1]...这种方式去调用、获取它,当然和普通数组一样他也有.length方法来获取长度。
2.没有重载
不像Java函数名相同根据参数的不同所调用的函数也不同,JavaScript没有重载的概念,如果你试图去重载它那么第二个函数则会覆盖掉第一个函数,不过你可以通过检查传入参数的类型和数量去给他定义不同的方法来模拟重载。
今天就总结这么多,不早了萌芽要碎觉觉咯!对啦还有一个就是关于var范围的问题,因为JavaScript没有块儿级概念所以哪怕是在方法内部定义的变量也是可以在外部直接访问的,当然在ES6当中块儿级的概念更加明显了,加入了let,class等概念,不过咱们今天就不深入讨论这个啦,睡觉睡觉大家晚安安!