zoukankan      html  css  js  c++  java
  • 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的实际取值
    Boolean true false
    String 非空字符转 空字符串
    Number 任何非零数(包括无穷大) 0或NaN
    Object 非null对象 null
    Undefined undefined

    Number

    Number类型的实际取值有:

    • 整数
    • 浮点数
    • Infinity
    • NaN

    NaN的特点是:

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

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

    数值转换

    • Number()函数

      数据类型 结果
      Number 简单的传入和返回
      Null 0
      Undefined NaN
      Boolean 0或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()方法的返回值相同

  • 相关阅读:
    计算机基础
    程序的控制结构
    day 04作业
    数据类型-数据类型
    第二次作业
    第二次博客
    第一篇博客
    原生js与ajax应用
    ajax原理及其优缺点
    jQuery动画
  • 原文地址:https://www.cnblogs.com/weixia-blog/p/9757665.html
Copyright © 2011-2022 走看看