国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript表達式和運算符詳解

2019-11-19 17:41:46
字體:
來源:轉載
供稿:網友

一、js表達式

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

   表達式是js一種短語,可是js解釋器用來產生一個值。  ――js《權威指南》

1.原始表達式。

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

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

變量: i,k,j 等

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

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

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

例如:

[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.函數表達式。

var fn = function(){};

或者:

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

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

4.屬性訪問表達式。

var obj = {x:1}

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

5.調用表達式。

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

6.對象創建表達式。

例如:

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

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

1.按照運算符的操作數的數量:

 一元運算符: +num

 二元運算符: a + b

 三元運算符: c?a:b

2.按照功能區分:

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

比較:a == b

算數: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.xobj.x //1 

3. in 運算符。

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

  ”x“ in window;    // true 

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

5. new運算符

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

 Foo.prototype.x = 1;

 我們可以用new運算符就可以創建一個對象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無論后面的操作數是多少,返回的都是undefined。

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

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家口市| 绥芬河市| 汉源县| 寻乌县| 衡东县| 华阴市| 临朐县| 南召县| 阜康市| 宁蒗| 收藏| 丹凤县| 廉江市| 鄢陵县| 罗源县| 和平区| 涿州市| 垫江县| 宁海县| 封开县| 同心县| 枝江市| 醴陵市| 儋州市| 武隆县| 英山县| 阿荣旗| 麻城市| 日照市| 桦甸市| 九寨沟县| 南澳县| 德令哈市| 清镇市| 贡嘎县| 高阳县| 松滋市| 连南| 蒙阴县| 车险| 南丹县|