中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中的表達式是什么

發布時間:2022-01-26 16:30:49 來源:億速云 閱讀:135 作者:柒染 欄目:web開發

今天給大家介紹一下JavaScript中的表達式是什么。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

在JavaScript中,表達式是由數字、算符、數字分組符號(括號)、自由變量和約束變量等以能求得數值的有意義排列方法所得的組合;表達式可分為兩種:原始表達式和復雜表達式。

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

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

什么是表達式?

表達式,是由數字、算符、數字分組符號(括號)、自由變量和約束變量等以能求得數值的有意義排列方法所得的組合。約束變量在表達式中已被指定數值,而自由變量則可以在表達式之外另行指定數值。

javascript表達式分為原始表達式和復雜表達式

原始表達式(primary exression)

  原始表達式是表達式的最小單位——它不再包含其他表達式

  原始表達式分為字面量、關鍵字和變量;詳細來說包括this關鍵字、標識符引用、字面量引用、數組初始化、對象初始化和分組表達式

PrimaryExpression : 
this Identifier 
Literal 
ArrayLiteral 
ObjectLiteral 
( Expression )

this關鍵字和標識符

this;//返回當前對象
i;//返回變量i的值
sum;//返回變量sum的值

字面量

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

Literal ::
   NullLiteral
   BooleanLiteral
   NumericLiteral
   StringLiteral 
   RegularExpressionLiteral
null;
undefined;
true;
false;
1;
'abc';
/pattern/;

數組和對象初始化

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

[];
[1,2,3];
{};
{a:1};

分組表達式

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

復雜表達式(MemberExpression)

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

MemberExpression : 
MemberExpression [ Expression ] 
MemberExpression . IdentifierName 
new MemberExpression Arguments
FunctionExpression

屬性訪問表達式

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

MemberExpression . IdentifierName 
MemberExpression [ Expression ]

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

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

var o = {x:1,y:{z:3}}; //對象字面量
var a = [o,4,[5,6]]; // 包含對象的數組字面量
o.x;//表達式o的x屬性
o.y.z;//表達式o.y的z屬性
o['x'];//對象o的x屬性
a[1];//表達式a中索引為1的元素

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

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

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

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

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

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

對象創建表達式

  對象創建表達式創建一個對象并調用一個函數初始化新對象的屬性

new Object();
new Point(2,3);

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

new Object;

函數表達式

  函數表達式分為函數定義表達式和函數調用表達式

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

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

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

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

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

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

f(0);
Math.max(x,y,z);
a.sort();

以上就是JavaScript中的表達式是什么的全部內容了,更多與JavaScript中的表達式是什么相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖江市| 阳西县| 伊宁市| 长白| 镇宁| 望谟县| 安宁市| 济南市| 乐平市| 罗平县| 奉贤区| 福泉市| 鄂托克旗| 马边| 长宁区| 马龙县| 祁连县| 泉州市| 柘荣县| 吴川市| 株洲市| 鹤庆县| 岗巴县| 都安| 屏东市| 抚宁县| 乌兰察布市| 海林市| 阿鲁科尔沁旗| 龙泉市| 宁城县| 林芝县| 田阳县| 广昌县| 疏勒县| 祁东县| 房产| 上蔡县| 西贡区| 泗水县| 新闻|