DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> javascript基礎語法知識要的點
javascript基礎語法知識要的點
編輯:JavaScript基礎知識     
第十篇 javascript基礎語法

1)基本概念

a) 語句(statement)是為了完成某種任務而進行的操作,語句以分號結尾,一個分號就表示一個語句結束。;如:var a = 1;

b) 表達式(expression),指一個為了得到返回值的計算式。如:1+3

c) 變量是對“值”的引用,使用變量等同於引用一個值。var a = 1;變量存在聲明和賦值兩個過程,var a = 1;等價於 var a;a = 1;

如下申明一個已存在的變量是無效的,

var x = 1;

var x;

x // 1

但是,如果第二次聲明的同時還賦值了,則會覆蓋掉前面的值。

var x = 1;
var x = 2;
// 等同於
var x = 1;
var x;
x = 2;

avaScript引擎的工作方式是,先解析代碼,獲取所有被聲明的變量,然後再一行一行地運行。這造成的結果,就是所有的變量的聲明語句,都會被提升到代碼的頭部,這就叫做變量提升。
console.log(a);
var a = 1;
//等同於
var a;
console.log(a);
a = 1;
請注意,變量提升只對var命令聲明的變量有效,如果一個變量不是用var命令聲明的,就不會發生變量提升。

d) 標識符(identifier)是用來識別具體對象的一個名稱。最常見的標識符就是變量名,以及後面要提到的函數名。JavaScript語言的標識符對大小寫敏感,所以aA是兩個不同的標識符。
標識符命名規則如下:
  • 第一個字符,可以是任意Unicode字母,以及美元符號($)和下劃線(_)。
  • 第二個字符及後面的字符,除了Unicode字母、美元符號和下劃線,還可以用數字0-9

e) 數據類型如下(據說ES6有增加新的數據類型,這裡不討論):

  • 數值(number):整數和小數(比如1和3.14)
  • 字符串(string):字符組成的文本(比如"Hello World")
  • 布爾值(boolean):true(真)和false(假)兩個特定值
  • undefined:表示“未定義”或不存在,即此處目前沒有任何值
  • null:表示空缺,即此處應該有一個值,但目前為空
  • 對象(object):各種值組成的集合

f) 對象又可以分成三個子類型。

  • 狹義的對象(object)
  • 數組(array)
  • 函數(function)

g) typeof運算符 (typeof運算符可以返回一個值的數據類型)

typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
function f() {}
typeof f
// "function"
typeof undefined
// "undefined"
typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object"

既然 typeof對數組(array)和對象(object)的顯示結果都是object,那麼怎麼區分它們呢?

h)instanceof運算符(屬於某個類型的實例)

var o = {};
var a = [];

o instanceof Array // false
a instanceof Array // true

i)null和undefined
nullundefined都可以表示“沒有”,含義非常相似。將一個變量賦值為undefinednull,老實說,語法效果幾乎沒區別。

首先,null像在Java裡一樣,被當成一個對象。但是,JavaScript的數據類型分成原始類型和合成類型兩大類,Brendan Eich覺得表示"無"的值最好不是對象。

其次,JavaScript的最初版本沒有包括錯誤處理機制,發生數據類型不匹配時,往往是自動轉換類型或者默默地失敗。Brendan Eich覺得,如果null自動轉為0,很不容易發現錯誤。

因此,Brendan Eich又設計了一個undefined。他是這樣區分的:null是一個表示"無"的對象,轉為數值時為0;undefined是一個表示"無"的原始值,轉為數值時為NaN

 

 


XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved