99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

一元運算符

2018-06-16 15:18 更新

語法:

UnaryExpression : PostfixExpression delete UnaryExpression void UnaryExpression typeof UnaryExpression ++ UnaryExpression -- UnaryExpression + UnaryExpression - UnaryExpression ~ UnaryExpression  ! UnaryExpression

delete 運算符

 產生式 UnaryExpression : delete UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 ref 為解釋執(zhí)行 UnaryExpression 的結果。
  2. 如果 Type(ref) 不是 Reference,返回 true。
  3. 若 IsUnresolvableReference(ref) 則 , 如果 IsStrictReference(ref) 為 true ,拋出一個 SyntaxError 異常。 否則,返回 true。
  4. 如果 IsPropertyReference(ref) 為 true 則: 返回以 GetReferencedName(ref) 和 IsStrictReference(ref) 做為參數調用 ToObject(GetBase(ref)) 的 [[Delete]] 內置方法的結果。
  5. 否則 , ref 是到環(huán)境記錄項綁定的 Reference,所以: 如果 IsStrictReference(ref) 為 true ,拋出一個 SyntaxError 異常 . 令 bindings 為 GetBase(ref). 返回以 GetReferencedName(ref) 為參數調用綁定的 DeleteBinding 具體方法的結果。

 當delete運算符出現在strict模式代碼中的時候,若UnaryExpression是到變量,函數形參或者函數名的直接引用則拋出一個SyntaxError異常。此外若delete運算符出現在嚴格模式代碼中且要刪除的屬性具有特性{ [[Configurable]]: false },拋出一個TypeError異常。

void 運算符

 產生式 UnaryExpression : void UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 調用 GetValue(expr).
  3. 返回 undefined.

 GetValue一定要調用,即使它的值無用,但是可能會有可見的附加效果。

typeof 運算符

 產生式 UnaryExpression : typeof UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 val 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 如果 Type(val) 為 Reference,則: 如果 IsUnresolvableReference(val) 為 true,返回 "undefined"。 令 val 為 GetValue(val).
  3. 返回根據表 20 由 Type(val) 決定的字符串。
typeof 運算符結果
val類型結果
Undefined"undefined"
Null"null"
Boolean"boolean"
Number"number"
String"string"
Object(原生,且沒有實現 [[call]])"object"
Object(原生或者宿主且實現了 [[call]])"function"
Object(宿主且沒實現 [[call]])由實現定義,但不能是 "undefined", "boolean", "number", or "string"

前自增運算符

 產生式 UnaryExpression : ++ UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 拋出一個 SyntaxError 異常當以下條件全部為真 :Type(expr) 為 ReferenceIsStrictReference(expr) 為 trueType(GetBase(expr)) 為環(huán)境記錄項GetReferencedName(expr) 是 "eval" 或 "arguments"

前自減運算符

 產生式 UnaryExpression : -- UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 拋出一個 SyntaxError 異常,當以下條件全部為真 :Type(expr) 為 ReferenceIsStrictReference(expr) 為 trueType(GetBase(expr)) 為環(huán)境記錄項GetReferencedName(expr) 是 "eval" 或 "arguments"

一元 + 運算符

 一元+運算符將其操作數轉換為Number類型。

 產生式 UnaryExpression : + UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 返回 ToNumber(GetValue(expr)).

一元 - 運算符

 一元+運算符將其操作數轉換為Number類型并反轉其正負。注意負的+0產生-0,負的-0產生+0。

 產生式 UnaryExpression : - UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 令 oldValue 為 ToNumber(GetValue(expr)).
  3. 如果 oldValue is NaN ,return NaN.
  4. 返回 oldValue 取負(即,算出一個數字相同但是符號相反的值)的結果。

按位非運算符

 產生式 UnaryExpression : ~ UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 令 oldValue 為 ToInt32(GetValue(expr)).
  3. 返回 oldValue 按位取反的結果。結果為 32 位有符號整數。

邏輯非運算符

 產生式 UnaryExpression : ! UnaryExpression 按照下面的過程執(zhí)行 :

  1. 令 expr 為解釋執(zhí)行 UnaryExpression 的結果 .
  2. 令 oldValue 為 ToBoolean(GetValue(expr)).
  3. 如果 oldValue 為 true ,返回 false.
  4. 返回 true.


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號