JavaScript中的Truthy和Falsy介绍_javascript技巧

与大多数编程语言一样,JavaScript中存在boolean类型,以供逻辑判断使用。不过,和很多其它编程语言不一样的是,JavaScript中存在Truthy值和Falsy值的概念 — 除了boolean值true、false外,所有类型的JavaScript值均可用于逻辑判断,其规则如下:

1.所有的Falsy值,当进行逻辑判断时均为false。Falsy值包括:false、undefined、null、正负0、NaN、”"。
2.其余所有的值均为Truthy,当进行逻辑判断时均为true。值得注意的是,Infinity、空数组、”0″都是Truthy值。

实验

复制代码 代码如下:

var x = "0";
if(x){
  "string 0 is Truthy."
} else {
  "string 0 is Falsy."
}

var y = [];
if(y){
  "empty array is Truthy."
} else {
  "empty array is Falsy."
}

时间: 2024-09-16 15:23:23

JavaScript中的Truthy和Falsy介绍_javascript技巧的相关文章

JavaScript中setter和getter方法介绍_javascript技巧

javascript中的setter.getter是平时接触比较少的方法,其本身也并不是标准方法,只在非ie浏览器里支持(ie内核也许有其他方法可以做到呢?暂时不知其解),但是加以利用可以做许多事情,比如: 1.对数据的访问限制: a.value是对value变量的getter方法调用,如果在getter方法实现中抛出异常,可以阻止对value变量的访问 2.对dom变量进行监听: window.name是一个跨域非常好用的dom属性(大名鼎鼎,详见百度),如果覆盖window.name的set

JavaScript中的return语句简单介绍_javascript技巧

return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,下面就结合实例简单介绍一下return语句的作用. 一.用来返回控制和函数结果: 通常情况,return语句对于一个函数是很有必要的,因为往往需要函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数. 语法格式: return 表达式  代码实例如下: function add(){ var a=1; var b=2; return a+b; } fun

JavaScript中使用Callback控制流程介绍_javascript技巧

javascript中随处可见的callback对于流程控制来说是一场灾难,缺点显而易见: 1.没有显式的return,容易产生多余流程,以及由此引发的bug. 2.造成代码无限嵌套,难以阅读. 下面就来说说怎么解决避免上述的问题. 第一个问题是一个习惯问题,在使用callback的时候往往会让人忘了使用return,这种情况在使用coffee-script的时候尤甚(虽然它在编译成javascript时会自行收集最后的数据作为返回值,但是这个返回值并不一定代表你的初衷).看看下面的例子. 复制

JavaScript中的原型链prototype介绍_javascript技巧

JavaScript中的继承是通过原型链(prototype chain)来完成的:每个对象内部都有另外一个对象作为其prototype而存在,对象从这个prototype中继承属性(property).对于每个对象来说,可以用以下三种方式来访问其原型对象: 1.__proto__.可以通过对象的__proto__属性来访问其原型对象.该属性仅在Firefox.Safari和Chrome中得到支持,在IE和Opera中不支持. 2.Object.getPrototypeOf().可以将对象作为参

javascript中的if语句使用介绍_javascript技巧

在javascript中的一些选择语句: 1.if语句 当指定条件为true的时候,就执行该条件的代码. 2.if...else...语句 当该语句指定条件为true时则执行该代码,如果当条件执行为false时则执行其他代码. 3.if...else if...else...语句 该语句是选择多个代码一起执行. 4.switch 语句 选择多个代码一起执行. if语句 if(条件){ 当条件为true时执行的代码; } 例: 复制代码 代码如下: <script> function myFun

javascript中普通函数的使用介绍_javascript技巧

复制代码 代码如下: <html> <head> <title>javascript中普通函数的使用</title> <script> function show(){ document.write("show函数被调用" + "<br/>"); return 10; } var hello = show();//show()函数被调用,将返回值赋值给hello变量.如果函数没有返回值,则返回u

JavaScript中string转换成number介绍_javascript技巧

JavaScript中,可以通过以下3种方法来将string值转换成number: 1.调用Number()来对string进行值类型转换. 2.parseInt(). 3.parseFloat(). Number() 使用Number()函数来对string进行强制类型转换是最直接的做法.不过,这种做法有一个局限性:如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN.David Flanagan的JavaScript – The Definitive Guide

JavaScript中的闭包(Closure)详细介绍_javascript技巧

闭包是JavaScript中一个重要的特性,其最大的作用在于保存函数运行过程中的信息.在JavaScript中,闭包的诸多特性源自函数调用过程中的作用域链上.   函数调用对象与变量的作用域链   对于JavaScript中的每一次函数调用,JavaScript都会创建一个局部对象以储存在该函数中定义的局部变量:如果在该函数内部还有一个嵌套定义的函数(nested function),那么JavaScript会在已经定义的局部对象之上再定义一个嵌套局部对象.对于一个函数,其内部有多少层的嵌套函数

JavaScript中的类数组对象介绍_javascript技巧

JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法.而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为"类数组对象".以下是一个简单的类数组对象: 复制代码 代码如下: var o = {0:42,