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

右移:n>>m 得 n/(2的m次方)

例子:

七、赋值运算:赋值运算就是等号右边表达式的结果

var x=y=z=10;

扩展的赋值表达式:对已有数据计算同时,将结果再存回变量。

+=:i+=5; 等效于i=i+5;

何时使用:修改原变量值

八、三目运算:根据不同条件,动态返回不同结果!

三目:至少需要3个表达式。

语法

一个条件,二选一:

条件 ? 当条件满足时返回值 : 当条件不满足时返回值

多个条件,多选一:

条件1?条件1满足的值:

条件2?条件2满足的值:

条件n?条件n满足的值:

默认值;

例子1:一个条件,二选一

例子2:多个条件,多选一

注意:多个条件判断,后一个条件中不用包含否定前一个条件的关系判断;因为,进入后一个条件隐含的条件就是前一个条件不满足。

常见题:

/未完待续 下期再会.

前端体系

大家想要什么资源/教程,或者学习上遇到问题都可以后台留言给小编哦~看到会及时给大家回复~

觉得本文对你有帮助,可以分享给更多人

关注【前端体系】,一起提升技能!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180423G1AJ3300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励