07-第七章 运算符 类型转换

判断一个数是不是整数 是整数返回true 不是返回 false

Number.isInteger(value); /'ɪntɪdʒə/ 整数

该toFixed()方法使用定点表示法格式化数字

numObj.toFixed(需要保留的小数位数);
括号里面不写参数,会将其视为0
返回的值是的数据类型是 string
不会改变原数值,返回新数值

判断一个数是不是字符数字,和数字

如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断

isNaN(testValue); 是数字和字符数字返回 false;不是返回 true

一、算术运算

+
-
*
/
取模、取余 %
ES6:指数运算符 **

console.log( 2 ** 10 )

1. 隐式类型转换

+ 在有字符串的时候,会进行字符串拼接
- * / % 会尽力把不是数字的转化为数字

2、NaN ——— not a number(不是一个数字)

不是数字的数字类型(number类型)
NaN和自己都不相等is NaN( obj )
判断是否为NaN,是返回true,否返回false;

当出现 NaN 时,一定是发生了非数字的数学运算

NaN 跟自己比较时。是不相等的

NaN 数据类型: number

  • 一个 小指 模上一个大的值,结果 还是等于这个 小值

3、显示类型转化化

  • 值决定变量的类型

》 转数字

Number() 可以用于任何数据类型转换成数值,parseInt()parseFloat():专门用于把字符串转换成数值
都是忽略前导的空格

  1. Number()
1.1)能把字符串转化为数字。
2.2)如果字符串是空的(不包含任何字符),则将其转换为0
3.3)如果带非数字的字符串,返回NaN。
4.4)undefined,返回NaN。
5.5)true和false将分别转换为1和0。
6.6)null值,返回0。
7.
8.var a = Number( '-100.02' );
9.console.log( a );            //-100.02
10.var a = Number( '100px' );
11.console.log( a );           //NaN
12.var a = Number( '' );
13.console.log( a );            //0
14.var a = Number( undefined );
15.console.log( a );            //NaN
16.var a = Number( true );
17.console.log( a );           //1
18.var a = Number( null );
19.console.log( a );           //0

  1. parseInt() (取整)取 非数字整前的数字 ,或小数点前的数字——-

  2. parseFloat() 能取得 小数,第二个小数点前的数字

》 转字符串

String( obj );
obj.toString();

1 布尔类型转字符类型

        let a = true;
        let b = String (a);

        console.log(a); //  蓝色 为 布尔值
        console.log(b); //  黑色 为 字符串
image.png

2 布尔类型转数值类型

布尔值转为数字的时候;false 会 转化为 0true 会 转化为 1;

        let a = true;
        let b = Number (a);
        
        console.log(typeof a);
        console.log(typeof b);
image.png

3 数值类型转字符串类型

最简单的方法就是直接 变量 + ""; 因为你发现引号里面写什么都会影响外面,所以索性什么都不写!

        let a = 1;
        let b = a + "";
        
        console.log(typeof a);
        console.log(typeof b);

4 字符串类型转数值类型

  • 1、直接在字符串的前面加上 +
    2、而 + 用於单一数值型态的运算元时, 会将位元宽度小於int的数值, 自动转型为int, 例如byte, char, short
    3、有加号,包装类中它会自动把i转成ASCII码中的105。如果前面加了字符,它则把i当字符看,

Number.parseFloat转化为数值类型的浮点数!
Number.parseInt转化为数值类型的整数!
不能转布尔值

需要注意字符串转数值时,如果字符串时 1.1.1.1 ,那么它就会时NaN;因为 没有不存在这样的数值;

可以通过Number.parseFloat来转化为数值,因为它会自动识别一个小数,会自动保留一位小数!

从左往右开始,第一个(非空格)开始,以此往后找,如果排除空格以后,剩下的还是那些符号,就会转化失败!

        let a = '1.1545645656.1.1.1.1.1';
        
        let b = Number.parseFloat(a);
        
        console.log(typeof b, b);
image.png
        let a = '1.15%456.151321.1564546.1554545456';

        let b = Number.parseFloat (a);

        console.log(typeof b, b);
        //  是自动识别一个小数位,把符号后面的都砍掉
image.png
        let a = '1.1.1';

        let b = Number (a);
        
        console.log(typeof b, b);
image.png

5 转布尔值

Boolean()

特殊方法 字符串类型 转 数值类型

        let c = '1.1';

        let d = c - 0;
        //  c * 1  c / 1  c - 0 

        console.log(typeof d, d);
    let a = 1;
    let d = !!a;
    //  true ==> false ==> true

    console.log(d);
    //  双重否定变肯定

Number转化数字的时候,会先把拿到的数据,先通过toString()方法转化为字符串,再转化为数字

image.png

"'' 可以被 Number 转为 o
null 可以被 Number 转为 o
true可以被 Number 转为 o
false 可以被 Number 转为 o
[] 可以被 Number 转为 o
undefined 会被 Number 转为 NaN
{} 会被 Number 转为 NaN

二、赋值运算

= += -= *= /= %= ++ --

三、比较运算

<————–小于
> ————-大于
= = ————- 等于
<= ————-小于等于
>= ————- 大于等于
!= ————- 不等于
= = =————- 全等,除了值的判断,还会进行unicode 编码的对比
!==————-不全等
返回boolean值

四、逻辑运算

||————-逻辑或
&&————–逻辑与

&&符号为真值的时候,就会通过&&符号继续往后执行;如果为假值,就立即停止
||则相反

赋值操作

1.
2.var c = a || b;
3.//如果a为true,则用a赋值,如果a为false,则用b赋值
4.
5.var c = a && b;
6.//如果a为true,则通过,用 b 赋值
7.//如果a为false,用 a 赋值
8.

布尔值操作

1.if( a || b ){
2.    //如果a为true,则为true
3.    //如果a为false,则看b
4.}
5.
6.if( a && b ){
7.    //如果a为true,则通过,看b,b为true则为true
8.    //如果a为false,则false
9.}
10.

多则运算及优先级


!————–取反

1.if( !obj ){
2.//首先会把obj转化为布尔值,如果 obj是true,则!obj为false
3.}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容