亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

JS語(yǔ)言核心——“表達(dá)式和運(yùn)算符”

李增田 / 2714人閱讀

摘要:原始表達(dá)式直接量保留字變量原始表達(dá)式表達(dá)式的最小單位表達(dá)式中的短語(yǔ),解釋器會(huì)將其計(jì)算為一個(gè)結(jié)果對(duì)象和數(shù)據(jù)的初始化表達(dá)式對(duì)象直接量和數(shù)組直接量,它們和布爾直接量不同,它們不是原始表達(dá)式函數(shù)定義表達(dá)式函數(shù)直接量也不是原始表達(dá)式屬性訪問(wèn)表達(dá)式語(yǔ)法

1 原始表達(dá)式

直接量、保留字、變量

原始表達(dá)式(primary expression):表達(dá)式的最小單位

表達(dá)式:JavaScript中的短語(yǔ),JavaScript解釋器會(huì)將其計(jì)算為一個(gè)結(jié)果

2 對(duì)象和數(shù)據(jù)的初始化表達(dá)式

對(duì)象直接量和數(shù)組直接量,它們和布爾直接量不同,它們不是原始表達(dá)式

3 函數(shù)定義表達(dá)式

函數(shù)直接量也不是原始表達(dá)式

4 屬性訪問(wèn)表達(dá)式

語(yǔ)法:

expression . identifier
expression [ expression ]

5 調(diào)用表達(dá)式

調(diào)用表達(dá)式(invocation expression):調(diào)用或者執(zhí)行函數(shù)或方法的語(yǔ)法表示

方法調(diào)用(method invocation):如果這個(gè)表達(dá)式是一個(gè)屬性訪問(wèn)表達(dá)式,那么這個(gè)調(diào)用稱(chēng)做“方法調(diào)用”

6 對(duì)象創(chuàng)建表達(dá)式

對(duì)象創(chuàng)建表達(dá)式(object creation expression):創(chuàng)建一個(gè)對(duì)象并調(diào)用一個(gè)構(gòu)造函數(shù)初始化新對(duì)象的屬性:

var obj = new Object(); //比函數(shù)調(diào)用表達(dá)式多了一個(gè)new操作符
Object();
7 運(yùn)算符概述 7.1 操作數(shù)的個(gè)數(shù)

一元運(yùn)算符(unary operator):將一個(gè)表達(dá)式轉(zhuǎn)換為另一個(gè)復(fù)雜的表達(dá)式

二元運(yùn)算符(binary operator):將兩個(gè)表達(dá)式合并成一個(gè)復(fù)雜的表達(dá)式

三元運(yùn)算符(ternary operator):條件判斷運(yùn)算符?

7.2 左值

左值(lvalue):表達(dá)式只能出現(xiàn)在賦值運(yùn)算符的左側(cè)

7.3 運(yùn)算符優(yōu)先級(jí)

要注意的是,屬性訪問(wèn)表達(dá)式和調(diào)用表達(dá)式的優(yōu)先級(jí)非常高,當(dāng):typeof my.functions[x](y),盡管typeof是優(yōu)先級(jí)最高的運(yùn)算符之一,但typeof也是在兩次屬性訪問(wèn)和函數(shù)調(diào)用之后執(zhí)行的

8 算數(shù)表達(dá)式 8.1 “+”運(yùn)算符

有些時(shí)候要進(jìn)行必要的轉(zhuǎn)換:

var obj = {
    toString: function() {
        return "object";
    }
};
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
8.2 一元算數(shù)運(yùn)算符

+、-是一元運(yùn)算符,也是二元運(yùn)算符

9 關(guān)系表達(dá)式 9.1 相等和不等運(yùn)算符

如果兩個(gè)引用值指向同一個(gè)對(duì)象、數(shù)組或函數(shù),則它們是相等的

9.2 比較運(yùn)算符

大寫(xiě)的ASCⅡ字幕都“小于”小寫(xiě)的ASCⅡ字幕;

加號(hào)運(yùn)算符和比較運(yùn)算符的行為不同,前者更偏愛(ài)字符串,如果其中一個(gè)操作數(shù)是字符串,則進(jìn)行字符串連接;比較運(yùn)算符則更偏愛(ài)數(shù)字,只有兩個(gè)操作數(shù)都是字符串,才會(huì)進(jìn)行字符串比較

當(dāng)其中一個(gè)操作數(shù)是或能轉(zhuǎn)成NaN的時(shí)候,比較運(yùn)算符均返回false:

console.log("12" < NaN); //False;
console.log("12" > NaN); //False;
9.3 in運(yùn)算符

左操作數(shù)是字符串或能夠轉(zhuǎn)換成字符串,右操作數(shù)則是對(duì)象

9.4 instanceof運(yùn)算符

左操作數(shù)是對(duì)象,右操作數(shù)是標(biāo)識(shí)對(duì)象的類(lèi)

10 邏輯表達(dá)式 10.1 邏輯與(&&)

建議“&&”僅用來(lái)對(duì)真值和假值做布爾計(jì)算

10.2 邏輯或(||)

最常用的方式是從一組備選表達(dá)式中選出第一個(gè)真值表達(dá)式:var body = body || document.body;

function obj(p) {
    p = p || {};
    return p;
}
console.log(obj().toString()); //[oject Object]
console.log(obj({
    toString: function() {
        return "Oli";
    }
}).toString()); //Oli
10.3 邏輯非(!)

“!”運(yùn)算符首先將其操作數(shù)轉(zhuǎn)換為布爾值,然后再對(duì)布爾值求反

11 賦值表達(dá)式

一次性對(duì)多個(gè)變量賦值:

var x, y, z;
x=y=z=10;
console.log(x+y+z); //30
12 表達(dá)式計(jì)算 12.1 eval()

它使用了調(diào)用它的變量作用域環(huán)境

12.2 全局eval()

直接調(diào)用eval()時(shí),它總是在調(diào)用它的上下文作用域內(nèi)執(zhí)行。其他的間接調(diào)用則使用全局對(duì)象作為其上下文作用域,并且無(wú)法讀寫(xiě)、定義局部變量和函數(shù):

var geval = eval;
var x = "global",
    y = "global";
function f() {
    var x = "local";
    eval("x += "changed""); //直接調(diào)用eval
    return x;
}
console.log(f(), x); //localchanged global;
function g() {
    var y = "local";
    geval("y += "changed""); //間接調(diào)用eval
    return y;
}
console.log(g(), y); //local globalchanged;
12.3 嚴(yán)格eval()

ECMAScript5在嚴(yán)格模式下,eval執(zhí)行的代碼段可以查詢或更改局部變量,但不能在局部作用域中定義新的變量或函數(shù);

此外,嚴(yán)格模式將“eval”列為保留字,不能用一個(gè)別名覆蓋eval()函數(shù)(運(yùn)算符)

// "use strict";
function f () {
    eval("var x = 10");
    console.log(x);
}
f(); //10

"use strict";
function f () {
    eval("var x = 10");
    console.log(x);
}
f(); //x is not defined
13 其他運(yùn)算符 13.1 條件運(yùn)算符(?:)

條件運(yùn)算符中唯一一個(gè)三元運(yùn)算符(三個(gè)操作數(shù))

常用做法是:

var username;
var name = username ? username : "Oliver";
console.log(name); //"Oliver"
13.2 typeof運(yùn)算符

最常用的做法是:

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

在IE9之前的版本中,非原生可執(zhí)行對(duì)象的typeof運(yùn)算將返回“object”

13.3 delete運(yùn)算符

delete是一元操作符,它用來(lái)刪除對(duì)象屬性或者數(shù)組元素

13.4 void運(yùn)算符

void讓瀏覽器不必顯示這個(gè)表達(dá)式的計(jì)算結(jié)果:

hello there

以上代碼不推薦,應(yīng)該綁定一個(gè)事件處理程序

13.5 逗號(hào)運(yùn)算符(,)

最常用于for循環(huán)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/79023.html

相關(guān)文章

  • JavaScript 語(yǔ)言核心筆記(持續(xù)更新)

    摘要:在同一個(gè)塊內(nèi),不允許用重復(fù)聲明變量。中為新增了塊級(jí)作用域。自帶遍歷器的對(duì)象有數(shù)組字符串類(lèi)數(shù)組對(duì)象對(duì)象的對(duì)象等和結(jié)構(gòu)對(duì)象。返回一個(gè)遍歷器,使遍歷數(shù)組的鍵值對(duì)鍵名鍵值。 目錄 1.語(yǔ)法 2.類(lèi)型、值和變量 3.表達(dá)式和運(yùn)算符 4.語(yǔ)句 5.數(shù)組 6.對(duì)象 7.函數(shù) 8.全局屬性和方法 9.詞法作用域、作用域鏈、閉包 10.原型鏈、繼承機(jī)制 11.this的理解 12.ES5新特性 13.E...

    suosuopuo 評(píng)論0 收藏0
  • JavaScript權(quán)威指南筆記(上)-語(yǔ)言核心

    摘要:二進(jìn)制浮點(diǎn)數(shù)和四舍五入錯(cuò)誤在使用實(shí)數(shù)時(shí),常常只是真實(shí)值的一個(gè)近似表示。作用域分類(lèi)全局函數(shù),塊級(jí)作用域鏈變量對(duì)象用于存儲(chǔ)執(zhí)行上下文中的變量函數(shù)聲明函數(shù)參數(shù)變量初始化階段瀏覽器截圖瀏覽器截圖代碼執(zhí)行階段類(lèi)和模塊 詞法結(jié)構(gòu) 字符集 使用Unicode編寫(xiě) ES3 Unicode2.1+ ES5 Unicode3+ 區(qū)分大小寫(xiě) 注釋 // 注釋 /* 注釋 */ 標(biāo)識(shí)符和保留字 必須以字...

    skinner 評(píng)論0 收藏0
  • JavaScript 闖關(guān)記

    摘要:對(duì)象數(shù)組初始化表達(dá)式,闖關(guān)記之上文檔對(duì)象模型是針對(duì)和文檔的一個(gè)。闖關(guān)記之?dāng)?shù)組數(shù)組是值的有序集合。數(shù)組是動(dòng)態(tài)的,根闖關(guān)記之語(yǔ)法的語(yǔ)法大量借鑒了及其他類(lèi)語(yǔ)言如和的語(yǔ)法。 《JavaScript 闖關(guān)記》之 DOM(下) Element 類(lèi)型 除了 Document 類(lèi)型之外,Element 類(lèi)型就要算是 Web 編程中最常用的類(lèi)型了。Element 類(lèi)型用于表現(xiàn) XML 或 HTML 元素...

    mj 評(píng)論0 收藏0
  • JS基礎(chǔ)學(xué)習(xí)03「表達(dá)式運(yùn)算符

    摘要:函數(shù)定義表達(dá)式。對(duì)象創(chuàng)建表達(dá)式。需要注意的是,大多數(shù)運(yùn)算符都是由標(biāo)點(diǎn)符號(hào)表示的,比如和。也就是說(shuō),空字符串將被當(dāng)作,布爾值將被當(dāng)作。對(duì)于和,則分別調(diào)用函數(shù)并取得字符串和。 表達(dá)式 表達(dá)式是由數(shù)字、運(yùn)算符、數(shù)字分組符號(hào)(如括號(hào))、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合。JavaScript 表達(dá)式主要有以下幾種形式: 原始表達(dá)式:常量、變量、保留字。 對(duì)象、數(shù)組初始...

    dcr309duan 評(píng)論0 收藏0
  • 《JavaScript 闖關(guān)記》之表達(dá)式運(yùn)算符

    摘要:函數(shù)定義表達(dá)式。對(duì)象創(chuàng)建表達(dá)式。也就是說(shuō),空字符串將被當(dāng)作,布爾值將被當(dāng)作。如果有一個(gè)操作數(shù)是對(duì)象數(shù)值或布爾值,則調(diào)用它們的方法取得相應(yīng)的字符串值,然后再應(yīng)用前面關(guān)于字符串的規(guī)則。對(duì)于和,則分別調(diào)用函數(shù)并取得字符串和。 表達(dá)式 表達(dá)式是由數(shù)字、運(yùn)算符、數(shù)字分組符號(hào)(如括號(hào))、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合。JavaScript 表達(dá)式主要有以下幾種形式: ...

    Render 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<