正确处理JavaScript特殊值

  判断一个值是否可用作数字的最佳方法是使用isFinite函数,因为它会筛除掉NaN和Infinity(infinity表示无穷大)。当数值超过浮点数所能表示的范围时,用infinity表示。反之,负无穷大为-inFinity。

JavaScript基本类型有5种:String、Boolean、Number、Null、Undefined。

Null和Undefined比较特殊:Null类型只有一个值:null;Undefined只有一个值:undefined。

null与对象引用有关系,表示空或者不存在的对象引用。

当声明一个变量却没有向它赋值的时候,它的值就是undefined。

undefined的值会在以下情况出现:

1、从一个对象中获取某个属性,如果该对象及其prototype链中对象都没有该属性,则该属性的值为undefined。

2、一个函数如果没有显示通过return语句将返回值返回给其调用者,其返回值就是undefined,但在使用new 调用函数时例外。

3、JavaScript的函数可以声明任意多个形参,当该函数实际被调用时,传入的参数的个数如果小于声明的形式参数的个数,那么多余的形式参数的值为undefined。

++和--运算符只能作用与变量、数组元素或对象属性。

++和--运算符位置不同所得的运算结果也不同:

n++ 先执行赋值运算,再执行递加运算;

++n 先执行递加运算,再执行赋值运算;

时间: 2024-10-21 05:37:14

正确处理JavaScript特殊值的相关文章

javascript中值传递与值引用的研究

今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以引用的方式传递的,但是实际上却不是,那到底是怎么回事,或者是函数中的传值是值传递还是值引用呢,下面来对书上给出的例子做一个图解,这样能够更好的解释这个问题.有顿悟的感觉.javascript中貌似共有8种数据类型,包括了字符串类型,数值类型,布尔类型,undefined类型,null类型,对象,数组,函数:1

什么才是正确的javascript数组检测方式

前面的话 对于确定某个对象是不是数组,一直是数组的一个经典问题.本文专门将该问题择出来,介绍什么才是正确的javascript数组检测方式 typeof 首先,使用最常用的类型检测工具--typeof运算符 var arr = [1,2,3]; console.log(typeof arr);//'object' 前面已经介绍过,数组的本质是一种特殊的对象,所以返回'object'.typeof运算符只能用来区分原始类型和对象类型,对于更具体的对象类型是无法鉴别出来的 instanceof 这时

JavaScript中值的真真假假(true and false)

值为flase的有: false 0 "" //空串 null undefined NaN 除了以上的之外的都是ture,包括"0" (zero in quotes), "false" (false in quotes) , empty functions, [](空数组), and {}(empty objects),都是为true var a = !!(0); // false var b = !!("0"); // tr

JavaScript的值传递和引用传递

本文和大家分享的主要是javascript中值传递和引用传递相关内容,一起来看看吧,希望对大家学习javascript有所帮助. JavaScript有5种基本的数据类型,分别是:布尔.null.undefined.String和Number.这些基本类型在赋值的时候是通过值传递的方式.值得注意的是还有另外三种类型: Array.Function和Object,它们通过引用来传递.从底层技术上看,它们三都是对象. 基本数据类型 如果一个基本的数据类型绑定到某个变量,我们可以认为该变量包含这个基本

javascript浮点值运算舍入误差

问题 在javascript中整数和浮点数都属于Number数据类型(简单数据类型中的一种),我们经常会发现在打印1.0这样的浮点数的结果是1而非1.0,这是由于保存浮点数的内存空间是保存整数值的两倍,所以ECMAScript会不失时机地将浮点数转换为整数. 上面这种情况虽然让强迫症患者有点不舒服,但是好歹也不是什么大错,接下来这种情况就很吓人了.例如我们在计算0.1加0.2时,它的输出结果不是0.3,而是0.3000000000000004.what the fuck?!第一次遇到这种情况的童

怎么样正确学习JavaScript

怎么样正确学习JavaScript http://www.crimx.com/

正确理解JavaScript中的this关键字

JavaScript有this关键字,this跟JavaScript的执行上下文密切相关,很多前端开发工程师至今对this关键字还是模棱两可,本文将结合代码讲解下JavaScript的this关键字. this和对象的关系 首先来看下面的代码: var person = { name:'Theo Wong', gender:'male', getName:function(){ console.log(person.name); } }; person.getName(); 定义了一个perso

如何正确学习JavaScript

学习时长:6-8周学习前提:中学水平,无需编程经验 更新(2014-1-7) 在Reddit上创建了一个学习小组January 2014, “Learn JavaScript” Study Group on Reddit 目录 不要这样学习JavaScript 本课程资源 1-2周(简介,数据类型,表达式和操作符) 3~4周(对象,数组,函数,DOM,jQuery) JavaScript终极编辑器:WebStorm 第一个项目-动态问答应用 5-6周(正则表达式,Window对象,事件,jQue

JavaScript类型&amp;值&amp;变量

正零VS负零 两个值几乎一模一样,除了作为除数之外: var zero = 0; // 正零 var negz = -0; // 负零 zero === negz; // true 1/zero === 1/negz; // false <JavaScript权威指南>p.37 undefined VS null undefined是变量未赋值前的默认值,表示未定义.typeof undefined = undefined. null是空对象引用,表示对象为空.typeof null = ob