javascript表達式和運算符詳解

一、js表達式

創(chuàng)新互聯(lián)公司于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元慈利做網(wǎng)站,已為上家服務,為慈利各地企業(yè)和個人服務,聯(lián)系電話:18982081108

定義:表達式是指能計算出值得任何可用程序單元。  ——wiki

表達式是js一種短語,可是js解釋器用來產(chǎn)生一個值。  ——js《權威指南》

1.原始表達式。

常量/直接量: 3.14/ "test" 等

關鍵字: null,this,true,false 等

變量: i,k,j 等

復合表達式:原始表達式和原始表達式之間用運算符連接可以組成一個復合表達式。

例如: 10 * 20 這就是一個復合表達式

2.(數(shù)組、對象的)初始化表達式。

例如:

[1,2]  等價于  new Array(1,2);

[1,,,2]  等價于  new Array(1,undefined,undefined,2);

{x:1,y:2} 等價于  var obj = new Object();

obj.x = 1;obj.y = 2;

3.函數(shù)表達式。

var fn = function(){};

或者:

(function(){ console.log("hello") })();

如果你不理解函數(shù)表達式后面還會有對應的介紹。

4.屬性訪問表達式。

var obj = {x:1}

我們可以通過  obj.x 或者 obj["x"]來訪問它的屬性,這一類表達式就稱之為屬性訪問表達式。

5.調用表達式。

func();  來調用一個函數(shù),這樣的表達式就稱之為調用表達式。

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

例如:

new Func(1,2);我們可以傳參,如果沒有參數(shù)我們也可以new Object;創(chuàng)建一個空的對象這樣也是合法的。

二、js運算符(一般用于表達式之間進行一些運算)。

1.按照運算符的操作數(shù)的數(shù)量:

一元運算符: +num

二元運算符: a + b

三元運算符: c?a:b

2.按照功能區(qū)分:

賦值:x += 1 (或者-=,=等)

比較:a == b

算數(shù):a - b

位: a | b

邏輯: exp1 && exp2 (或與非)

字符串:“a” + “b”

特殊: delete obj.x

下面我們對特殊運算符展開來講:

條件運算符:var c = true?1:2    //c=1

逗號運算符:var val = (1,2,3)  // val = 3  從左到右依次計算,取最后的

delete運算符:就是刪除對象上的屬性。

--例如:

var obj = {x:1}
  obj.x //1
  delete obj.x
  obj.x //undefined

從IE9開始,我們可以給對象設置configurable標簽,當configurable:true時屬性才可以被delete掉

例:

var obj = {}
Object.defineProperty(obj, 'x', {
configurable:false,
value:1
});
delete obj.x
obj.x //1 

3. in 運算符。

例:window.x = 1;那我們想知道window到底有沒有x呢,我們就可以用 in

  ”x“ in window;    // true 

4. instanceof  和 typeof 我們在上一章詳細的介紹過,如果忘記了可以去看一下。

5. new運算符

比如說我們創(chuàng)建一個函數(shù)構造器:function Foo(){}

Foo.prototype.x = 1;

我們可以用new運算符就可以創(chuàng)建一個對象obj

var obj = new Foo();

這樣obj.x;  //1 我們就可以從它的構造器上的prototype屬性上拿到 1

我們可以通過 obj.hasOwnProperty("x"); //false 來判斷這個屬性到底是對象上的還是對象的原型上的

obj._proto_拿到它的原型,obj._proto_.hasOwnProperty("x");  //true 說明是原型上的

6.this 運算符。

  this; //window(瀏覽器)
  var obj = {
  func:function(){
  return this;
 }
 }
obj.func(); // obj

this運算符也是比較特殊的這個我們后面會詳細講。

7.void運算符。

 void 0 //undefined
 void (0) //undefined

 void無論后面的操作數(shù)是多少,返回的都是undefined。

8.運算符的優(yōu)先級,也是建議大家去看一下,更有助于大家讀懂復雜的表達式。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持創(chuàng)新互聯(lián)!

分享標題:javascript表達式和運算符詳解
文章出自:http://muchs.cn/article16/phoggg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站維護、營銷型網(wǎng)站建設、網(wǎng)站制作靜態(tài)網(wǎng)站、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名