JavaScript基礎語法之js表達式
來源:易賢網 閱讀:885 次 日期:2016-06-18 14:51:26
溫馨提示:易賢網小編為您整理了“JavaScript基礎語法之js表達式”,方便廣大網友查閱!

本文將詳細介紹javascript表達式,表達式分為原始表達式和復雜表達式。一般,關于javascript基礎語法,人們聽得比較多的術語是操作符和語句。但,其實還有一個術語經常使用,卻很少被提到,這就是javascript表達式(expression)。

原始表達式(primary exression)

原始表達式是表達式的最小單位——它不再包含其他表達式。javascript中的原始表達式包括this關鍵字、標識符引用、字面量引用、數(shù)組初始化、對象初始化和分組表達式

PrimaryExpression :

this

Identifier

Literal

ArrayLiteral

ObjectLiteral

( Expression )

this關鍵字和標識符

this;//返回當前對象

i;//返回變量i的值

sum;//返回變量sum的值

字面量

字面量(literal),又翻譯成直接量,就是程序中直接使用的數(shù)據(jù)值

Literal ::

NullLiteral

BooleanLiteral

NumericLiteral

StringLiteral

RegularExpressionLiteral

null;

undefined;

true;

false;

1;

'abc';

/pattern/;

數(shù)組和對象初始化

數(shù)組初始化和對象初始化實際上是一個以字面量的方式描述的初始化的過程。這兩個初始化表達式有時稱做"對象直接量"和"數(shù)組直接量"

[];

[1,2,3];

{};

{a:1};

分組表達式

分組表達式實際上就是括號,用于重寫運算符的優(yōu)先級

復雜表達式(MemberExpression)

復雜表達式是由原始表達式和操作符(operator)組合而成,包括屬性訪問表達式、對象創(chuàng)建表達式和函數(shù)表達式

MemberExpression :

MemberExpression [ Expression ]

MemberExpression . IdentifierName

new MemberExpression Arguments

FunctionExpression

屬性訪問表達式

屬性訪問表達式運算可以得到一個對象屬性或一個數(shù)組元素的值,javascript為屬性訪問定義了兩種語法

MemberExpression . IdentifierName

MemberExpression [ Expression ]

第一種寫法是一個表達式后跟隨一個句點和標識符。表達式指定對象,標識符則指定需要訪問的屬性的名稱

第二種寫法是使用方括號,方括號內是另外一個表達式(這種方法適用于對象和數(shù)組)。第二個表達式指定要訪問的屬性的名稱或代表要訪問數(shù)組元素的索引

var o = {x:1,y:{z:3}}; //對象字面量

var a = [o,4,[5,6]]; // 包含對象的數(shù)組字面量

o.x;//表達式o的x屬性

o.y.z;//表達式o.y的z屬性

o['x'];//對象o的x屬性

a[1];//表達式a中索引為1的元素

不管使用哪種形式的屬性訪問表達式,在'.'和'['之前的表達式總是會首先計算

如果計算結果是null或undefined,表達式會拋出一個類型錯誤異常,因為這兩個值都不能包含任意屬性

如果計算結果不是對象,javascript會將其轉換為對象

如果對象表達式后跟隨句點和標識符,則會查找由這個標識符指定的屬性值,并將其作為整個表達式的值返回

如果對象表達式后跟隨一對方括號,則會計算方括號內的表達式的值并將其轉換為字符串

不論哪種情況,如果命名的屬性不存在,那么整個屬性訪問表達式的值就是undefined

對象創(chuàng)建表達式

對象創(chuàng)建表達式創(chuàng)建一個對象并調用一個函數(shù)初始化新對象的屬性

new Object();

new Point(2,3);

如果一個對象創(chuàng)建表達式不需要傳入任何參數(shù)給構造函數(shù)的話,那么這對空圓括號是可以省略的

new Object;

函數(shù)表達式

函數(shù)表達式分為函數(shù)定義表達式和函數(shù)調用表達式

函數(shù)定義表達式定義一個javascript函數(shù),表達式的值是這個新定義的函數(shù)

一個典型的函數(shù)定義表達式包含關鍵字function,跟隨其后的是一對圓括號,括號內是一個以逗號分割的列表,列表含有0個或多個標識符(參數(shù)名),然后再跟隨一個由花括號包裹的

javascript代碼段(函數(shù)體)

function square(x){

return x*x;

}

函數(shù)定義表達式同樣可以包含函數(shù)的名字,函數(shù)也可以通過函數(shù)語句來定義,而不是函數(shù)表達式

var square = function(x){return x*x;}

函數(shù)調用表達式是一種調用或執(zhí)行函數(shù)或方法的語法表示。如果這個表達式是一個屬性訪問表達式,那么這個調用稱做方法調用

f(0);

Math.max(x,y,z);

a.sort();

以上所述是小編給大家介紹的JavaScript基礎語法之js表達式的相關內容,希望對大家有所幫助。

更多信息請查看網絡編程
易賢網手機網站地址:JavaScript基礎語法之js表達式

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網