JavaScript變量及數據類型

變量

ECMAScript的變量是鬆散類型的,表現爲:javascript

  • 聲明變量時,不用指定數據類型
  • 同個變量能夠引用不一樣的數據類型

變量聲明

使用var操做符聲明變量java

var variableName; //因爲未初始化,變量值爲undefined

變量初始化

當咱們聲明一個變量但未初始化時,變量的默認值是undefinedwindows

var variableName = value;

全局變量和局部變量

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

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

上面代碼打印:函數

undefined
weixia

sayName函數內部代碼塊定義一個同名局部變量name,它具備局部做用域,生命週期從定義處開始,到右花括號結束。code

行1中聲明的name具備全局做用域,它會自動被歸於windows對象的命名空間。對象

行2age是全局變量,具備全局做用域,它會自動被歸於windows對象的命名空間。生命週期

數據類型

ECMAScript數據類型:ip

  • 五種基本類型
    • 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()方法的返回值相同

相關文章
相關標籤/搜索