二、JavaScript语言基础
01.数据类型
JavaScript的数据类型是动态类型,即相同的变量可作不同的类型,也就是说初始化什么值就是什么类型,主要有:字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(object)、空(Null)和未定义(Undefined)
1.1 数值型 number
JavaScript语言中此阿勇弱类型的方式,拥有动态类型,这意味着相同的变量可用作不同的类型
(1)数值型
- JavaScript并不区分整型数值还是浮点型数值,因此,数字可以带小数点,也可以不带,也可以用科学或标准方法表示,如5e7表示50000000。
- toFixed() 方法可把 Number 四舍五入为指定小数位数的数字返回
string
类型,语法如下
NumberObject.toFixed(num) //NumberObject为要处理的数据,num为需要保留的小数位数。
示例:
var n= 3.1415926
var n1 = n.toFixed() //n1 = 3
var n2 = n.toFixed(3) //n1 = 3.142
关于各个浏览器针对该函数的返回值不同的问题,可参考博文《javascript中toFixed()方法详解》,这里不细说。
1.2 字符串 string
字符串(string)是有 Unicode 字符、数字、标点符号等组成的序列,它是JavaScript 用来表示文本的数据类型。程序中的字符串型数据包含在单引号和双引号中。如果想输出引号可以用转义字符,或者不需要转义字符,直接用单引号输出双引号,用双引号输出单引号。如
var mystring = "Hello World" //字符串是Hello World
var mystring = "\"Hello World\"" //字符串是"Hello World"
var mystring = "'Hello World'" //字符串是'Hello World'
1.3 布尔型 boolean
JavaScript 程序中,布尔值通常用来比较所得的结果, 布尔数据类型只有两个值,这两个合法的值分别由直接量“true”和“false”表示。它说明某个事物是真还是假。
m==1 //这行代码测试了变量 m 的值是否和数值 1 相等。如果相等,比较的结果就是布尔值true,否则结果就是 false。
布尔值通常用于 JavaScript 的控制结构。如,JavaScript 的 if/else 语句。JavaScript在必要的时候也可以将 true 转化为 1,将 false 转化为 0。也可以用Boolean()
函数强制将数值型或字符串等转换为布尔型。
- 对于数值,只有
0
和NaN
转换可得false
其余皆为true
- 对于字符串,只有空字符串转换为
false
,其余皆为true
1.4 特殊数据类型 undefined未定义值
undefined
类型专门用来确定一个已经创建但是没有初值的变量。即在使用 var 声明变量,但没有对其初始化时,这个变量的值就是 undefined
。
JavaScript 中还有一种特殊类型的数字常量 NaN
,即“非数字”。当程序由于某种原因计算错误后,将产生一个没有意义的数字,此时 JavaScript 返回的数值就是 NaN
。
JavaSript 中有一个特殊的值 null
,它表示值为空,用于定义空的或者不存在的引用。如果试图引用一个没有定义的变量,则返回一个 null
值。注意,null
不等同与空字符串("")和 0。
null
和 undefined
的区别是,null
表示一个变量被赋予了一个空值,而undefined
则表示该变量尚未被赋值。
1.5 符合数据类型 Object
其值为基本数据类型的组合:数组、josn等,如
var person = { //josn
name:'Bob',
age:20,
tags:['js','web','mobile'],
city:'Beijing};
1.6 数据类型的自动转换
当JavaScript 尝试操作一个"错误"的数据类型时,会自动转换为"正确"的数据类型。以下输出结果不是你所期望的:
5 + null // 返回 5 null 转换为 0
"5" + null // 返回"5null" null 转换为 "null"
"5" + 1 // 返回 "51" 1 转换为 "1"
"5" - 1 // 返回 4 "5" 转换为 5
"5"* 2 // 返回 10 "5" 转换为 5
"6" / 2 // 返回 3 "6" 转换为 6
1.7 typeof的用法
1.7.1 语法
typeof是一个运算符,有2种使用方式:
typeof(表达式) //对表达式做运算
typeof 变量名 //对变量做运算。
1.7.2 typeof的返回值
typeof运算符的返回类型为字符串,值包括如下几种:
'undefined' //未定义的变量或值
'boolean' //布尔类型的变量或值
'string' //字符串类型的变量或值
'number' //数字类型的变量或值
'object' //对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)
'function' //函数类型的变量或值
**ps:**typeof运算符用于判断对象的类型,但是对于一些创建的对象,它们都会返回’object’,有时我们需要判断该实例是否为某个对象的实例,那么这个时候需要用到instanceof运算符。
后续持续更新……
原创不易,如果觉得不错,就点个赞吧!