js--运算符与或非 及 if判断条件、隐式转换 介绍

逻辑运算符:

  返回值是Boolean类型,一般连接多个比较表达式;

  与(&&):当所有表达式都返回true时,结果才为true,即是遇false则false;

  或(||):当所有表达式都返回false时,结果才为false,即是遇true则true;

  与(&&)也称短路与,意思是当遇到第一个为false的表达式时,该后面的表达式不再执行,结果直接返回false;

  或(||)也称短路或,意思是当遇到第一个为true的表达式时,该后面的表达式不再执行,结果直接返回true;

if(判断条件){};

  判断条件转换--->Boolean类型:

  当判断条件为 数字 0 时,转化为  false

  当判断条件为 非 0 数字时,转化为  true

  当判断条件为 空字符串 时,转化为  false

  当判断条件为 非空字符串 时,转化为  true

  当判断条件为 object 时,转化为  true

  当判断条件为 undefined  或 null 时,转化为  false

隐式转换:

  数学运算:

    false ---->  0;

    true-----> 1;

  +   运算:当单独使用时表示隐式转换,能转为数字类型则转,不能转则转成  NAN

  eg:

   var a = "123abc";
    console.log(typeof(+a));  //NaN
    console.log(typeof("11" + 11));  // 1111
    //字符串与任何类型数据相加都是字符串的拼接

原文地址:https://www.cnblogs.com/wcx-20151115-hzz/p/10139382.html

时间: 2024-11-05 16:48:30

js--运算符与或非 及 if判断条件、隐式转换 介绍的相关文章

JS隐式转换

 首先,JS数据类型分为6种,分别是null.undefined.boolean.string.number.object.其中,object是引用类型,其余5种是基本类型或者叫做原始类型. 类型转换,就是隐式转换!不同类型的变量相比较时要先转换类型.隐式转换通常发生在运算符加.减.乘.除,以及大于.小于等等. typeof()方法用来打印判断某个元素是什么数据类型. 1.字符串和数字的相互转换: (1).字符串 加 数字 || 数字 加 字符串,数字 => 字符串 eg: typeof("

js隐式转换个人总结

隐式转换在js中通常可以通过parseInt(),  Number(), String(), Boolean()等函数转换成对应的数据类型, 但通常为了简便, 我们会用特殊的写法进行转换, 比如: var a = 5; console.log( a + '' ); // 输出'5', 将number类型转成string类型 //这里是将string转换成number类型 console.log( +'56' ); //输出 56, 等价于Number(a) console.log( -'56 )

js学习日记-隐式转换相关的坑及知识

隐式转换比较是js中绕不过去的坎,就算有几年经验的工程师也很有可能对这块知识不够熟悉.就算你知道使用===比较从而避免踩坑,但是团队其它成员不一定知道有这样或那样的坑,有后端语言经验的人常常会形成一个思维误区:"JS这门语言很简单,看看语法再找几个例子就能操作DOM,编写特效了".随着react.vue.html5等技术在项目中大规模使用,越来越多的项目中使用了大量的JS,甚至整个项目都用JS来写(例如基于webapi的SPA管理后台.微信小程序.微信H5应用,Hybrid app),

一个有趣的js隐式转换的问题

一个有趣的js隐式转换的问题 在chrome的控制台中打印一下表达式 [] + {} //结果为 [object object] 然后调整顺序打印 {} + [] //结果为 0 然后将两个表达式组合一下 {} + [] === [] + {} //true wtf??? 原理解释如下: 一般的类型转换的时候, 面对 + , 首先调用 valueOf^[1]进行转换, 如果转换的结果不是 基本类型, 那么采用 toString() 方法进行转换, 所以 []+{} //结果Wie [object

JS笔记(二):隐式转换

最近刚开始复习JS的基础知识,看到隐式转换这一块,发现它的规则很多,红宝书上列出的框框又有些冗杂,所以这里我借一个式子总结一下其中的规律以及一些有趣的现象.

再说js隐式转换

再说js隐式转换 自己整理的一个整体规则如下: Date 默认 走 toString, 如果 toString 返回的是对象, 那么查看 valueOf 其他对象的转换, 默认走 valueOf, 但是如果 valueOf 返回的是对象, 那么尝试 toString //比如示例如下: //默认的对象隐式转换是走 valueOf var o1 = { valueOf: function(){ return 1; }, toString: function(){ return 9; } } con

js 的隐式转换与显式转换

隐式转换 1.undefined与null相等,但不恒等(===) 2.一个是number一个是string时,会尝试将string转换为number 3.隐式转换将boolean转换为number,0或1 4.隐式转换将Object转换成number或string,取决于另外一个对比量的类型 5.对于0.空字符串的判断,建议使用 “===” . 6.“==”会对不同类型值进行类型转换再判断,“===”则不会.它会先判断两边的值类型,类型不匹配时直接为false. undefined == nu

js条件判断时隐式类型转换

Javascript 中,数字 0 为假,非0 均为真 在条件判断运算 == 中的转换规则是这样的: 如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 0 和 1,然后进行比较. 如果比较的双方中有一方为 Number,一方为 String时,会把 String 通过 Number() 方法转换为数字,然后进行比较. 如果比较的双方中有一方为 Boolean,一方为 String时,则会将空字符串""转换为 false,除此外的一切字符

js数据类型隐式转换笔记以及js包装对象

“37”+7              //377 “37”-7              //30 巧用+/-规则  变字符串  x+''   变数字x-0 js里面的==是不严格等于 “123” == 123 0 == false nul l== undefined new  Object() == new Object() [1,2]==[1,2] 但是[1,2]===[1,2]是错的 因为比较的是对象的引用 ps: NaN值和任何东西比较都不相等 即便是不严格等于 ———————————