JavaScript变量及数据类型

变量

ECMAScript的变量是松散类型的,表现为:

  • 声明变量时,不用指定数据类型
  • 同个变量可以引用不同的数据类型

变量声明

使用var操作符声明变量

var variableName; //由于未初始化,变量值为undefined

变量初始化

当我们声明一个变量但未初始化时,变量的默认值是undefined

var variableName = value;

全局变量和局部变量

var name = "weixia";
age = 24;
function sayName() {
    var name;
    alert(name);
}

sayName();
alert(name);
alert(age);

上面代码打印:

undefined
weixia

sayName函数内部代码块定义一个同名局部变量name,它具有局部作用域,生命周期从定义处开始,到右花括号结束。

行1中声明的name具有全局作用域,它会自动被归于windows对象的命名空间。

行2age是全局变量,具有全局作用域,它会自动被归于windows对象的命名空间。

数据类型

ECMAScript数据类型:

  • 五种基本类型
    • Undefined
    • Null
    • Boolean
    • Number
    • String
  • 一种复杂类型
    • Object
  • ECMAScript不支持自定义类型,所有值都是上述6种数据类型之一

typeof

typeof是一个操作符,不是函数,它用于判断数据类型,返回值是字符串

typeof 24;  // "number"
typeof("Hello");    // "string"
typeof null;    // "object"

须要注意的是,任何对象和null都返回"object"

Undefined

Undefined类型,实际取值只有一个——undefined

当变量未初始化时,默认值为undefined

Null

Null类型表示空的对象引用,实际取值只有一个——null

通常用作要储存对象变量的初始值

Boolean

Boolean类型实际取值有两个:

  • true
  • false

其他数据类型可以转换为Boolean类型,转换结果取决于待转换数据的数据类型和实际取值

数据类型结果为true的实际取值结果为false的实际取值
Booleantruefalse
String非空字符转空字符串
Number任何非零数(包括无穷大)0或NaN
Object非null对象null
Undefinedundefined

Number

Number类型的实际取值有:

  • 整数
  • 浮点数
  • Infinity
  • NaN

NaN的特点是:

  1. 任何涉及NaN的操作都返回NaN
  2. NaN与任何值都不相等,包括NaN本身

isNaN函数对于任何不能被Number()转换为数值的参数,返回true

数值转换
  • Number()函数

    数据类型结果
    Number简单的传入和返回
    Null0
    UndefinedNaN
    Boolean0或1
    String空字符串返回0;满足数字格式的字符串返回对应的数字;其他情况返回NaN
  • parseInt()函数

    专门用于将字符串解析为整数。它会尽可能的将字符串(或第一个整数子序列)转换为整数

  • parseFolat()函数

    专门用于将字符串解析为浮点数。它会尽可能的将字符串(或第一个浮点数子序列)转换为浮点数

String

NumberBooleanObjectStringtoString方法可以将其本身转换为字符串。

String()函数可以将任意类型转换为字符串,转换时有toString方法的调用toString方法,null返回"null",undefined返回"undefined"

Object

通过new操作符创建对象:

object = new Object()
  • Constructor属性

    保存用于创建当前对象的构造函数

  • hasOwnProperty(propertyName)

    检定属性在当前实例对象中,而不是实例的原型中

  • propertyIsEnumerable(propertyName)

    检定给定的属性是否能使用for-in语句

  • toString()

    返回对象的字符串表示

  • valueof()

    返回对象的字符串、数值或布尔值表示,通常与toString()方法的返回值相同

转载于:https://www.cnblogs.com/weixia-blog/p/9757665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值