JavaScript变量和数据类型

变量:

  1. 区分大小写

  2. 标识符的第一个字符必须是字母或_或$

  3. "use strict"启用严格模式

  4. 变量定义:

    1. 使用 var定义局部变量,如 var message;

    2. 不用var定义的变量为全局变量.

    3. 变量的赋值并不会给这个变量指定类型.如var message="hi"; message=10;是
      可以的.

    4. 可以一次定义多个不同类型的变量: var
      message="hi",found=false,age=20;中间用逗号隔开就行.

  5. 数据类型:

  6. 基本数据类型:Undefined Null Boolean Number String

  7. 复杂数据类型:Object

检测变量类型的typeof操作符: typeof(变量名)或typeof 常量 括号不是必须的

typeof的返回值:

  1. undefined 变量未被初始化

  2. boolean 变量是布尔

  3. string 字符串

  4. number 数值

  5. object 对象或null

  6. function 函数

Undefined类型:

未被初始化和未被定义的变量的值都是undefined.

var message; (message==undefined)

typeof age (age未被定义,但返回undefined)

Null类型:

只有一个值null,用来表示空对象

Boolean类型:

只有两个字面值:true和false.但所有类型的值都可以通过转型函数Boolean()转换为对应的Boolean值.

数据类型 true false
String 非空字符串 空字符串("")
Number 非零值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined

Number类型:

8进制整数字面值以0开头.如 var num=070;

16进制整数字面值以0x开头,如 0xA

科学计数法: var num=2.4e10

注意不要测试某个特定的浮点数值(0.1+0.2==0.3 是false)

超出数的范围的数会被转换成 Infinity.通过isFinite()函数可以检测是否为Infinity.

NaN是一个特殊的数,在试图将一个不能转换为数值的量转换为数值时就会得到NaN.任何涉及NaN的操作(如NaN/10)都会返回NaN.而且,NaN与任何值都不相等,包括NaN本身.可以通过isNaN()函数检测是否能一个量能转换为数值.

数值转换:

有3个函数可以把非数值转换为数值:Number(),parseInt()和parseFloat().

Number()函数转换规则:

Boolean 0和1
null 0
undefined NaN
"123" 123
" 123 " 123
"0123" 123
"0 123" NaN
"123a" NaN
"0xf" 15

parseInt()函数转换规则:

"123ab" 123
"ab123" NaN
"12 23" 12
"010" 8
"0xA" 10

String类型:

单引号和双引号都可以用来表示字符串.

length属性获取长度:如text.length

字符串是不可变的.

例如 var lang="Java" ; lang=lang+"Script";

新的lang是产生一个新的lang和"Script"的字符串

将量转化为String的方法:

量.toString()可以将量转化为String.但null和undefined没有这个方法.

特别的,当量是数值时,可以使用一个基数作为参数来输出相应的进制.

如: var num=10; num.toString(16)转化为"a".

如果不知道是不是null或undefined,可以使用String(),它可以将null或undefined转化为"null"或"undefined".

除此之外,还可以用 量+"" 来转化为字符串,对null和undefined也有效.

Object类型:

Object是所有其它Object的基础.

每个Object都有以下几种属性和方法:

  1. constructor:保存着构建函数

  2. hasOwnProperty(propertyName):检查给定属性是否存在

  3. isPrototypeOf(object):检查给定对象是否是当前对象的原型

  4. toLocaleString()和toString: 返回字符串表示

  5. valueOf: 返回对象的字符串,数值或布尔值.通常与toString()结果相同.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。