上一篇笔记里《javascript基础入门(一)》,我主要写了js基本概念(特点,组成,典型运用)、js的使用、调试js代码(常见js错误类型)、js语法(六大数据类型)。适合零基础入门的小伙伴~
这一期分享数据类型间的转换和操作符,笔记内容都是精华,一定要收藏!
数据类型间的转换
数据类型间的转换:
隐式转换:程序自动转换数据类型(坑)
弱类型:
1.变量声明时不必限定数据类型,今后可能保存任何类型数据
2.数据类型间可以自动类型转换
仅考虑+号:只要有字符串参与,一切类型都加" "变为字符串
如果没有字符串,都转为数字计算:
其中:true-->1 false-->0
强制转换:程序员通过调用专门函数手动转换类型
toString:x.toString()-->将x转为字符串类型
toNumber:Number(x)-->将任意类型转为number类型
string 转 number 类型:
转为整数
用法:var num=parseInt(“str”)
读取字符串中的整数部分
1.从第一个字符向后读。
2.如果碰到第一个数字字符,开始获取数字
再次碰到不是数字的字符(包括小数点),停止读取
3.如果开头碰到空格,忽略
4.如果碰到的第一个非空格字符,不是数字
说明不能转-->NaN: not a number
什么是NaN:不是数字(内容)的数字(类型)
转为浮点数
用法:var num=parseFloat(“str”)
读取字符串中浮点数部分
用法和parseInt完全相同
唯一差别:parseFloat认识小数点,仅认第一个
重点:凡是从页面上获得的数据,都是字符串!必须先来转换再计算
操作符
操作符:模拟人类运算的特殊符号,操作数据值的操作符。
算数运算、模运算、递增/递减运算、关系运算、逻辑运算、位移、赋值运算、三目运算
一、算数运算:任意类型数据做“-”运算,都会被转为数字类型
如果有参数,不能自动转为数字,返回NaN
如果除数为0:Infinity-->无穷大
例如:5/0
二、模运算:被除数/除数,取除不尽的余数
语法:被除数%除数
三、递增/递减运算:
++:i++==>i=i+1;只要遇到对变量+1,就用i++
i++单独用:++放前放后,效果一样:i++==>++i;
i++出现在表达式内部:
前++,先+1,再参与表达式
后++,先用旧值参与表达式。表达式之后+1。
四、关系运算:判断大小!条件判断中使用,每个关系运算符都返回一个布尔值。
结果:成立:true,不成立:false
自带隐式类型转换
字符串参与关系运算:
从第一个字符开始,取出每个字符PK,采用unicode编号
大写永远小于小写
关系运算中:
任何类型和数字比较,字符串转为数字,再比较
布尔类型参与关系运算,始终转为数字比较
先将参与判断的数据,强转为相同类型,再比较
undefined和null比较:
undefined类型,从null类型继承来的
undefined值被自动转换为null!所以undefined==null为true
"=="叫相等。 在比较的时候可以转自动换数据类型
"=== "叫严格相等:不带自动类型转换的相等比较!要求“类型”和“值”必须都相等!才返回true。
typeof(x):判断任意数据的类型
记住:只要不确定比较的类型,又不希望自动类型转换时,就用===
例子:
NaN做==比较:NaN和任何数字做比较,永远返回false
isNaN(x):专门用来判断一个数据是否是NaN
如果是NaN返回true;如果不是NaN返回false
如果是数字返回false;如果不是数字返回true,
只要不能自动转换为数字的,都返回true
只要能自动转换为数字的,都返回false
例子:
总结:
1.普通数据,先转为相同类型,再比较。
2.undefined,就用===
3.NaN,就用isNaN(x)
五、逻辑运算:基于多组关系运算,得出1个结论
&&:而且
所有条件为true,才返回true;只有一个false就返回false。
||:或者
只要任意一个为true,就返回true;只要所有条件都为false时,才返回false。
!:非
颠倒true和false,今后只要颠倒判断结果,就直接用!运算符
短路逻辑:只要前一个判断可以得出最终结论,则后续条件不执行!一定要记住
一问:判断是否是汉字的unicode范围
一答:"\u4E00"&&"\u9FA5"
例子:
判断n能否被m整除:n%m==0吗?叫模运算
六、位移:
左移:n<<m 得n*(2的m次方)
右移:n>>m 得 n/(2的m次方)
例子:
七、赋值运算:赋值运算就是等号右边表达式的结果
var x=y=z=10;
扩展的赋值表达式:对已有数据计算同时,将结果再存回变量。
+=:i+=5; 等效于i=i+5;
何时使用:修改原变量值
八、三目运算:根据不同条件,动态返回不同结果!
三目:至少需要3个表达式。
语法:
一个条件,二选一:
条件 ? 当条件满足时返回值 : 当条件不满足时返回值
多个条件,多选一:
条件1?条件1满足的值:
条件2?条件2满足的值:
条件n?条件n满足的值:
默认值;
例子1:一个条件,二选一
例子2:多个条件,多选一
注意:多个条件判断,后一个条件中不用包含否定前一个条件的关系判断;因为,进入后一个条件隐含的条件就是前一个条件不满足。
常见题:
/未完待续 下期再会.
欢迎关注微信公众号【一文插画】,回复【资源】即可获得学习资料~ “领干货” 一起提升技能!未经授权,不得转载。