JavaScript基础——类型、值和变量

对象和数组属于可变类型;字符串是不可变的:可以访问字符串任意位置的文本,但JavaScript并未提供修改一直字符串的文本内容的方法。

JavaScript变量是无类型的(untyped),变量可以被赋予任何类型的值,同样一个变量也可以重新赋予不同类型的值。使用var关键字来声明(declare)变量。JavaScript采用词法作用域(lexical scoping)。不在任何函数内声明的变量称为全局变量(global variable),它在JavaScript程序中的任何地方都是可见的。

JavaScript中的所有数字均用浮点数值表示。

JavaScript对八进制的支持不一,最好不用八进制。

JavaScript对浮点数的表达方法:[ digits ][ .digits ][ (E|e) [ (+|-) ] digits ]

Infinity(无穷大)或-Infinity(负无穷大)

0/0无意义,是非数字值,用NaN表示

JavaScript预定义了全局变量Infinity和NaN,用来表示无穷大和非数字值。

JavaScript中非数字值NaN有点特殊:它跟谁都不相等,包括自己。即不能用x==NaN来判断x是否是NaN,而应该采用x!=x来判断(当且仅当x等于NaN时表达式结果才为true)。函数isNaN()与此类似,如果参数是NaN或者是一个非数字值(如字符串和对象),则返回true。函数isFinite(),在参数不是NaN、Infinity或者-Infinity的时候返回true。

关于零值:

var zero = 0;    //正常零值

var negz = -0;    //负零值

zero === negz;   //=>true:正零值和负零值相等

1/zero === 1/negz;   //=>false:正无穷大和负无穷大不相等

需要注意的是:在JavaScript中对分数精确度还有待商量,例如由于舍入误差,0.3和0.2之间的近似差值实际上并不等于0.2和0.1之间的近似差值!所以在进行金融方面编程时可通过使用小单位进行整数运算,避免舍入误差问题。

如果你想赋值给变量或属性,或者作为参数传入函数,在undefined和null之间,最佳选择是使用null(undefined是表示系统级的,出乎意料的或类似错误的值的空缺;而null是表示程序级的,正常的或在意料之中的值的空缺。)。

时间: 2024-08-25 06:58:50

JavaScript基础——类型、值和变量的相关文章

【javascript基础】3、变量和作用域

原文:[javascript基础]3.变量和作用域 前言 这篇和大家说一下javascript中的变量和作用域,由于是将基础嘛,主要给大家捋一下知识,不想翻开书复习的道友可以看一下,打算刚开始学习javascript的同学可以扫一眼. PS:jQuery源码交流群( 239147101)等你来,群里高手云集,让我受益匪浅,尽量少灌水. 变量 javascript中有两种变量,分别是基本类型和引用类型,基本类型是Null,Undefined,String,Boolean,Number这五种,前面简

JS学习第五天----类型,值,和变量

类型,值,和变量 前言:计算机程序的运行需要对值(value)比如数字3.14或文本"hello,world"进行操作,在编程语言中,能够表示并操作的值的类型叫做数据类型(type),编程语言最基本的特性就是支持多种数据类型.当程序需要将值保持起来以备将来使用时,便将其赋值给(将值"保存"到)一个变量(variable).变量是一个值的符号名称,可以通过名称获得对值的引用.变量的工作机制是变成语句的另一个基本特征. 前言:JavaScript的数据类型分为两类:原始

你真的懂JavaScript基础类型吗

夯实Javascript基础. 基本类型有六种: null,undefined,boolean,number,string,symbol. 基本类型的值是保存在栈内存中的简单数据段 基础类型特性 基础类型最重要的特性 基础类型是不变的 因此:基础类型没有splice,sort之类的直接改变变量的方法 强行改变基础类型会报错 // str 不能调用 Array的 sort 和 splice Array.prototype.sort.call('strxyz'); // Uncaught TypeE

JavaScript基础之函数和变量作用域

函数:封装一项任务的步骤清单的代码段,再起一个名字 ( js中函数也是一个引用类型的对象,函数名其实也是引用函数对象的普通变量.) 函数对象:内存中专门存储一个函数定义的存储空间 函数定义的存储位置在window之外. 何时使用:一项任务可能反复使用时,就仅需要在函数中封装一次,反复调用函数即可. 如何声明函数: function 函数名([参数1,参数2,...]){ 步骤清单 return 返回值 } 参数:专门接受函数调用时,必要数据的变量 如何使用参数:在函数内,参数变量的使用和普通变量

第3章 类型,值和变量

能够表示并操作的值的类型称做数据类型(type) JS中包含 原始类型(primitive type) 和 对象类型(object type) 原始类型包括:数字,字符串,布尔值,NULL,undefined 对象(object)是属性(property)的集合,每个属性都是键值对(key/value)构成. 数组(array)是一种特殊的对象,普通的对象是"命名值"的无序集合,而数组表示带编号的值的有序集合 函数(function)也是一种特殊的对象,函数是具有与它相关联的可执行代码

javascript基础类型判断

string类型 var a = "a" typeof a === "string" number类型 let a = 111 typeof a === "number" function类型 var a = function(){} typeof a === "function" undefined类型 var a =undefined typeof a === "undefined" a === und

JavaScript基础(五)

JavaScript基础(五) 变量的多种声明方式对作用域访问的影响 不规范的声明方式(不推荐) 不加var声明,直接进行赋值: sum = 100; var 变量名1 = 变量名2 = 变量名3 = 数据; 只有变量名1是标准方式. 不规范的变量声明方式导致作用域的访问出现变量,可能会隐式的声明为全局变量 作用域链 作用域链是用来描述 变量访问 规则的一种方式. 在任意作用域下进行变量访问时的规则:(沿作用域链向上查找) 首先查找当前作用域,如果存在就使用 如果不存在,会查找父作用域,如果存在

你根本不会Javascript(1)——类型、值和变量

文原载于szhshp.org/tech/2017/02/18/JavaSprite.html 转载请注明 类型.值和变量 包装对象和原始值 ECMAScript 有 5 种原始类型(primitive type) Undefined Null Boolean Number String 基本类型(null, undefined, bool, number, string)应该是值类型,没有属性和方法. 内置对象 Javascript有一系列内置对象来创建语言的基本功能,具体有如下几种 Boole

JavaScript的类型、值和变量的总结

前言:JavaScript的数据类型分为两类:原始类型和对象类型.5种原始类型:数字.字符串.布尔值.null(空).undefined(未定义).对象是属性的集合,每个属性都由“名/值对”(值可以是原始值.也可以是对象)构成.三个比较特殊的对象:全局对象.数组.函数.JavaScript语言核心还定义了三种有用的类:日期(Date)类.正则(RegExp)类.错误(Error)类. 2.1 数字 JavaScript中不区分整数值和浮点数值.JavaScript可以识别十进制整型直接量(所谓直