JS語言核心 「表示式和運算子」

2021-09-19 09:37:10 字數 2631 閱讀 4080

直接量、保留字、變數

物件直接量和陣列直接量,它們和布林直接量不同,它們不是原始表示式

函式直接量也不是原始表示式

語法:expression . identifier

expression [ expression ]

var obj = new object(); //比函式呼叫表示式多了乙個new操作符

object();

要注意的是,屬性訪問表示式和呼叫表示式的優先順序非常高,當:typeof my.functions[x](y),儘管typeof是優先順序最高的運算子之一,但typeof也是在兩次屬性訪問和函式呼叫之後執行的

有些時候要進行必要的轉換:

var obj = 

};console.log("hello " + obj); //hello object

var obj = {};

console.log("hello " + obj); //hello [object object]

console.log(1 + null); //1

console.log(1 + undefined); //nan

+-是一元運算子,也是二元運算子

如果兩個引用值指向同乙個物件、陣列或函式,則它們是相等的

大寫的ascⅱ字幕都「小於」小寫的ascⅱ字幕;

加號運算子和比較運算子的行為不同,前者更偏愛字串,如果其中乙個運算元是字串,則進行字串連線;比較運算子則更偏愛數字,只有兩個運算元都是字串,才會進行字串比較

當其中乙個運算元是或能轉成nan的時候,比較運算子均返回false:

console.log("12" < nan); //false;

console.log("12" > nan); //false;

左運算元是字串或能夠轉換成字串,右運算元則是物件

左運算元是物件,右運算元是標識物件的類

建議「&&」僅用來對真值和假值做布林計算

最常用的方式是從一組備選表示式中選出第乙個真值表示式:var body = body || document.body;

function obj(p) ;

return p;

}console.log(obj().tostring()); //[oject object]

console.log(obj(

}).tostring()); //oli

「!」運算子首先將其運算元轉換為布林值,然後再對布林值求反

一次性對多個變數賦值:

var x, y, z;

x=y=z=10;

console.log(x+y+z); //30

它使用了呼叫它的變數作用域環境

直接呼叫eval()時,它總是在呼叫它的上下文作用域內執行。其他的間接呼叫則使用全域性物件作為其上下文作用域,並且無法讀寫、定義區域性變數和函式:

var geval = eval;

var x = "global",

y = "global";

function f()

console.log(f(), x); //localchanged global;

function g()

console.log(g(), y); //local globalchanged;

ecmascript5在嚴格模式下,eval執行的**段可以查詢或更改區域性變數,但不能在區域性作用域中定義新的變數或函式;

此外,嚴格模式將「eval」列為保留字,不能用乙個別名覆蓋eval()函式(運算子)

// "use strict";

function f ()

f(); //10

"use strict";

function f ()

f(); //x is not defined

條件運算子中唯一乙個三元運算子(三個運算元)

常用做法是:

var username;

var name = username ? username : "oliver";

console.log(name); //"oliver"

最常用的做法是:

var value = 123;

var value = "hello";

console.log((typeof value === "string") ? "'" + value + "'" : value); //123 //'hello'

在ie9之前的版本中,非原生可執行物件的typeof運算將返回「object」

delete是一元操作符,它用來刪除物件屬性或者陣列元素

void讓瀏覽器不必顯示這個表示式的計算結果:

hello there
以上**不推薦,應該繫結乙個事件處理程式

最常用於for迴圈

Js運算子和表示式

由運算子鏈結的運算元據,所組成的形式稱為表示式 1 算數運算子 取餘console.log 3 2 console.log 2 3 結果 應用 比如隔行換色,奇數行和偶數行換色,比如對2取餘,是1就是奇數行,0是偶數行 通過身份證獲取性別,身份證倒數第二位為偶數,則是女性 自增 var i 1 i ...

c語言運算子和表示式

第六次課 運算子與表示式 一 運算子和表示式 運算子 表示式 由運算元和運算子組成的式子,如 a b,1 2 c語言中單一的乙個變數或者單一的乙個常量是最簡單的表示式 提問 以下程式是輸出變數的值還是表示式的值?int main void 總結 永遠輸出表示式的值!1.優先順序與結合性 優先順序 參...

C語言運算子和表示式

概述 c語言一共有34種運算子,10種運算型別 算術運算子 關係運算子 位運算子 邏輯運算子 條件運算子 指標運算子 賦值運算子 逗號運算子 求位元組運算子 sizeof 強制型別轉換運算子 型別名 其他 下標 分量 函式 若按參與運算的物件個數,c語言運算子可分為單目運算子 如!雙目運算子 如 和...