成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

復(fù)習(xí)js 2

yhaolpz / 3138人閱讀

摘要:復(fù)習(xí)表達(dá)式和運(yùn)算符運(yùn)算符擁有如下類型的運(yùn)算符。例如十進(jìn)制數(shù)字用二進(jìn)制表示為,位運(yùn)算符就是在這個(gè)二進(jìn)制表示上執(zhí)行運(yùn)算,但是返回結(jié)果是標(biāo)準(zhǔn)的數(shù)值。因此,用于布爾值時(shí),當(dāng)任何一個(gè)操作數(shù)為則返回如果操作數(shù)都是則返回。

復(fù)習(xí)js day2 表達(dá)式和運(yùn)算符 運(yùn)算符

JavaScript 擁有如下類型的運(yùn)算符。本節(jié)描述了運(yùn)算符和運(yùn)算符的優(yōu)先級。

賦值運(yùn)算符(Assignment operators)

比較運(yùn)算符(Comparison operators)

算數(shù)運(yùn)算符(Arithmetic operators)

位運(yùn)算符(Bitwise operators)

邏輯運(yùn)算符(Logical operators)

字符串運(yùn)算符(String operators)

條件(三元)運(yùn)算符(Conditional operator)

逗號運(yùn)算符(Comma operator)

一元運(yùn)算符(Unary operators)

關(guān)系運(yùn)算符(Relational operator)

解構(gòu)賦值
詳見 http://es6.ruanyifeng.com/#do...
賦值運(yùn)算符

一個(gè) 賦值運(yùn)算符(assignment operator) 將它右邊操作數(shù)的值賦給它左邊的操作數(shù)。最簡單的賦值運(yùn)算符是等于(=),它將右邊的操作數(shù)值賦給左邊的操作數(shù)。那么 x = y 就是將 y 的值賦給 x。

還有一些復(fù)合賦值操作符,它們是下表列出的這些操作的縮寫:

名字 簡寫的操作符 含義
賦值(Assignment) x = y x = y
加法賦值(Addition assignment) x += y x = x + y
減法賦值(Subtraction assignment) x -= y x = x - y
乘法賦值(Multiplication assignment) x *= y x = x * y
除法賦值(Division assignment) x /= y x = x / y
求余賦值(Remainder assignment) x?%= y x = x?% y
求冪賦值(Exponentiation assignment) x **= y x = x ** y
左移位賦值(Left shift assignment) x <<= y x = x << y
右移位賦值(Right shift assignment) x >>= y x = x >> y
無符號右移位賦值(Unsigned right shift assignment) x >>>= y x = x >>> y
按位與賦值(Bitwise AND assignment) x &= y x = x & y
按位異或賦值(Bitwise XOR assignment) x ^= y x = x ^ y
按位或賦值(Bitwise OR assignment) x = y x = x y
算術(shù)運(yùn)算符

算術(shù)運(yùn)算符使用數(shù)值(字面量或者變量)作為操作數(shù)并返回一個(gè)數(shù)值.標(biāo)準(zhǔn)的算術(shù)運(yùn)算符就是加減乘除(+ - * /)。當(dāng)操作數(shù)是浮點(diǎn)數(shù)時(shí),這些運(yùn)算符表現(xiàn)得跟它們在大多數(shù)編程語言中一樣(特殊要注意的是,除零會產(chǎn)生Infinity)。例如:

1 / 2;  // 0.5
1 / 2 == 1.0 / 2.0; // true
位運(yùn)算符

位運(yùn)算符將它的操作數(shù)視為32位元的二進(jìn)制串(0和1組成)而非十進(jìn)制八進(jìn)制或十六進(jìn)制數(shù)。例如:十進(jìn)制數(shù)字9用二進(jìn)制表示為1001,位運(yùn)算符就是在這個(gè)二進(jìn)制表示上執(zhí)行運(yùn)算,但是返回結(jié)果是標(biāo)準(zhǔn)的JavaScript數(shù)值。

Operator Usage Description
按位與?AND a & b 在a,b的位表示中,每一個(gè)對應(yīng)的位都為1則返回1, 否則返回0.
按位或?OR a b 在a,b的位表示中,每一個(gè)對應(yīng)的位,只要有一個(gè)為1則返回1, 否則返回0.
按位異或?XOR a ^ b 在a,b的位表示中,每一個(gè)對應(yīng)的位,兩個(gè)不相同則返回1,相同則返回0.
按位非?NOT ~ a 反轉(zhuǎn)被操作數(shù)的位。
左移?shift a << b 將a的二進(jìn)制串向左移動(dòng)b位,右邊移入0.
算術(shù)右移 a >> b 把a(bǔ)的二進(jìn)制表示向右移動(dòng)b位,丟棄被移出的所有位.Operator Usage Description 按位與?AND a & b 在a,b的位表示中,每一個(gè)對應(yīng)的位都為1則返回1, 否則返回0. 按位或?OR a b 在a,b的位表示中,每一個(gè)對應(yīng)的位,只要有一個(gè)為1則返回1, 否則返回0. 按位異或?XOR a ^ b 在a,b的位表示中,每一個(gè)對應(yīng)的位,兩個(gè)不相同則返回1,相同則返回0. 按位非?NOT ~ a 反轉(zhuǎn)被操作數(shù)的位。 左移?shift a << b 將a的二進(jìn)制串向左移動(dòng)b位,右邊移入0. 算術(shù)右移 a >> b 把a(bǔ)的二進(jìn)制表示向右移動(dòng)b位,丟棄被移出的所有位. (譯注:算術(shù)右移左邊空出的位是根據(jù)最高位是0和1來進(jìn)行填充的) 無符號右移 a >>> b 把a(bǔ)的二進(jìn)制表示向右移動(dòng)b位,丟棄被移出的所有位,并把左邊空出的位都填充為0 (左邊空出位用0填充)
無符號右移(左邊空出位用0填充) a >>> b 把a(bǔ)的二進(jìn)制表示向右移動(dòng)b位,丟棄被移出的所有位,并把左邊空出的位都填充為0
邏輯運(yùn)算符
運(yùn)算符 范例 描述
邏輯與?(&&) expr1 && expr2 (邏輯與) 如果expr1能被轉(zhuǎn)換為false,那么返回expr1;否則,返回expr2。因此,&&用于布爾值時(shí),當(dāng)操作數(shù)都為true時(shí)返回true;否則返回false.
邏輯或?( ) expr1 expr2 (邏輯或) 如果expr1能被轉(zhuǎn)換為true,那么返回expr1;否則,返回expr2。因此, 用于布爾值時(shí),當(dāng)任何一個(gè)操作數(shù)為true則返回true;如果操作數(shù)都是false則返回false。
邏輯非?(!) !expr (邏輯非) 如果操作數(shù)能夠轉(zhuǎn)換為true則返回false;否則返回true。

下面是&&(邏輯"與")操作符的示例。

var a1 =  true && true;     // t && t returns true
var a2 =  true && false;    // t && f returns false
var a3 = false && true;     // f && t returns false
var a4 = false && (3 == 4); // f && f returns false
var a5 = "Cat" && "Dog";    // t && t returns Dog
var a6 = false && "Cat";    // f && t returns false
var a7 = "Cat" && false;    // t && f returns false

下面是||(邏輯"或")操作符的示例。

var o1 =  true || true;     // t || t returns true
var o2 = false || true;     // f || t returns true
var o3 =  true || false;    // t || f returns true
var o4 = false || (3 == 4); // f || f returns false
var o5 = "Cat" || "Dog";    // t || t returns Cat
var o6 = false || "Cat";    // f || t returns Cat
var o7 = "Cat" || false;    // t || f returns Cat

下面是?。ㄟ壿?非")操作符的示例。

var n1 = !true;  // !t returns false
var n2 = !false; // !f returns true
var n3 = !"Cat"; // !t returns false

短路求值
作為邏輯表達(dá)式進(jìn)行求值是從左到右,它們是為可能的“短路”的出現(xiàn)而使用以下規(guī)則進(jìn)行測試:

false && anything    // 被短路求值為false
true || anything       // 被短路求值為true

邏輯的規(guī)則,保證這些評估是總是正確的。請注意,上述表達(dá)式的anything部分不會被求值,所以這樣做不會產(chǎn)生任何副作用。

字符串運(yùn)算符

除了比較操作符,它可以在字符串值中使用,連接操作符(+)連接兩個(gè)字符串值相連接,返回另一個(gè)字符串,它是兩個(gè)操作數(shù)串的結(jié)合。

例如,

console.log("my " + "string"); // console logs the string "my string".

簡寫操作符 += 也可以用來拼接字符串,例如:

var myString = "alpha";

myString += "bet"; // 返回 "alphabet"  
條件(三元)運(yùn)算符

條件運(yùn)算符是JavaScript中唯一需要三個(gè)操作數(shù)的運(yùn)算符。運(yùn)算的結(jié)果根據(jù)給定條件在兩個(gè)值中取其一。語法為:

條件 ? 值1 : 值2

如果條件為真,則結(jié)果取值1。否則為值2。你能夠在任何允許使用標(biāo)準(zhǔn)運(yùn)算符的地方使用條件運(yùn)算符。

例如,

var status = (age >= 18) ? "adult" : "minor";

當(dāng) age 大于等于18的時(shí)候,將“adult”賦值給 status;否則將“minor”賦值給 status。

一元操作符 typeof

typeof操作符 可通過下面2種方式使用:

typeof operand
typeof (operand)

typeof 操作符返回一個(gè)表示 operand 類型的字符串值。operand 可為字符串、變量、關(guān)鍵詞或?qū)ο?,其類型將被返回。operand 兩側(cè)的括號為可選。

假設(shè)你定義了如下的變量:

var myFun = new Function("5 + 2");
var shape = "round";
var size = 1;
var today = new Date();
typeof 操作符將會返回如下的結(jié)果:

typeof myFun;     // returns "function"
typeof shape;     // returns "string"
typeof size;      // returns "number"
typeof today;     // returns "object"
typeof dontExist; // returns "undefined"

對于關(guān)鍵詞 true 和 null,
typeof 操作符將會返回如下結(jié)果:

typeof true; // returns "boolean"
typeof null; // returns "object"

對于一個(gè)數(shù)值或字符串, typeof 操作符將會返回如下結(jié)果:

typeof 62;            // returns "number"
typeof "Hello world"; // returns "string"

對于屬性值,typeof 操作符將會返回屬性所包含值的類型:

typeof document.lastModified; // returns "string"
typeof window.length;         // returns "number"
typeof Math.LN2;              // returns "number"

對于方法和函數(shù),typeof 操作符將會返回如下結(jié)果:

typeof blur;        // returns "function"
typeof eval;        // returns "function"
typeof parseInt;    // returns "function"
typeof shape.split; // returns "function"

對于預(yù)定義的對象,typeof 操作符將會返回如下結(jié)果:

typeof Date;     // returns "function"
typeof Function; // returns "function"
typeof Math;     // returns "object"
typeof Option;   // returns "function"
typeof String;   // returns "function"
void

void 運(yùn)算符運(yùn)用方法如下:

void (expression)
void expression

void運(yùn)算符,表明一個(gè)運(yùn)算沒有返回值。expression是javaScript表達(dá)式,括號中的表達(dá)式是一個(gè)可選項(xiàng),當(dāng)然使用該方式是一種好的形式。

你可以使用void運(yùn)算符指明一個(gè)超文本鏈接。該表達(dá)式是有效的,但是并不會在當(dāng)前文檔中進(jìn)行加載。

如下創(chuàng)建了一個(gè)超鏈接文本,當(dāng)用戶單擊該文本時(shí),不會有任何效果。

Click here to do nothing

下面的代碼創(chuàng)建了一個(gè)超鏈接,當(dāng)用戶單擊它時(shí),提交一個(gè)表單。


Click here to submit
關(guān)系操作符 in

in操作符,如果所指定的屬性確實(shí)存在于所指定的對象中,則會返回true

下面的例子是 in 操作的常見用法。

// Arrays
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
0 in trees;        // returns true
3 in trees;        // returns true
6 in trees;        // returns false
"bay" in trees;    // returns false (you must specify the index number,
                   // not the value at that index)
"length" in trees; // returns true (length is an Array property)

// Predefined objects
"PI" in Math;          // returns true
var myString = new String("coral");
"length" in myString;  // returns true

// Custom objects
var mycar = {make: "Honda", model: "Accord", year: 1998};
"make" in mycar;  // returns true
"model" in mycar; // returns true
instanceof

如果所判別的對象確實(shí)是所指定的類型,則返回true。

例如, 下面的代碼使用instanceof去判斷 theDay是否是一個(gè) Date 對象. 因?yàn)閠heDay是一個(gè)Date對象, 所以if中的代碼會執(zhí)行.

var theDay = new Date(1995, 12, 17);
if (theDay instanceof Date) {
  // statements to execute
}
表達(dá)式

表達(dá)式是一組代碼的集合,它返回一個(gè)值。(譯注:定義比較不好理解,看下面的舉例就很好懂了。)

每一個(gè)合法的表達(dá)式都能計(jì)算成某個(gè)值,但從概念上講,有兩種類型的表達(dá)式:有副作用的(比如賦值)和單純計(jì)算求值的。

表達(dá)式x=7是第一類型的一個(gè)例子。該表達(dá)式使用=運(yùn)算符將值7賦予變量x。這個(gè)表達(dá)式自己的值等于7。

代碼3 + 4是第二個(gè)表達(dá)式類型的一個(gè)例子。該表達(dá)式使用+運(yùn)算符把3和4加到一起但并沒有把結(jié)果(7)賦值給一個(gè)變量。

JavaScript有以下表達(dá)式類型:

算數(shù): 得出一個(gè)數(shù)字, 例如 3.14159. (通常使用 arithmetic operators.)

字符串: 得出一個(gè)字符串, 例如, "Fred" 或 "234". (通常使用 string operators.)

邏輯值: 得出true或者false. (經(jīng)常涉及到 logical operators.)

基本表達(dá)式: javascript中基本的關(guān)鍵字和一般表達(dá)式。

左值表達(dá)式: 分配給左值。

數(shù)字和日期 數(shù)字對象

內(nèi)置的Number對象有一些有關(guān)數(shù)字的常量屬性,如最大值、不是一個(gè)數(shù)字和無窮大的。你不能改變這些屬性,但可以按下邊的方式使用它們:

var biggestNum = Number.MAX_VALUE;
var smallestNum = Number.MIN_VALUE;
var infiniteNum = Number.POSITIVE_INFINITY;
var negInfiniteNum = Number.NEGATIVE_INFINITY;
var notANum = Number.NaN;

你永遠(yuǎn)只用從Number對象引用上邊顯示的屬性,而不是你自己創(chuàng)建的Number對象的屬性。

下面的表格匯總了數(shù)字對象的屬性:

數(shù)字的屬性

屬性 描述
Number.MAX_VALUE 可表示的最大值
Number.MIN_VALUE 可表示的最小值
Number.NaN 特指”非數(shù)字“
Number.NEGATIVE_INFINITY 特指“負(fù)無窮”;在溢出時(shí)返回
Number.POSITIVE_INFINITY 特指“正無窮”;在溢出時(shí)返回
Number.EPSILON 表示1和比最接近1且大于1的最小Number之間的差別
Number.MIN_SAFE_INTEGER JavaScript最小安全整數(shù).
Number.MAX_SAFE_INTEGER JavaScript最大安全整數(shù).

數(shù)字的方法

方法 描述
Number.parseFloat() 把字符串參數(shù)解析成浮點(diǎn)數(shù),
和全局方法?parseFloat()?作用一致.
Number.parseInt() 把字符串解析成特定基數(shù)對應(yīng)的整型數(shù)字,和全局方法?parseInt()?作用一致.
Number.isFinite() 判斷傳遞的值是否為有限數(shù)字。
Number.isInteger() 判斷傳遞的值是否為整數(shù)。
Number.isNaN() 判斷傳遞的值是否為?NaN. More robust version of the original global?isNaN().
Number.isSafeInteger() 判斷傳遞的值是否為安全整數(shù)。

數(shù)字類型原型上的一些方法

方法 描述
toExponential() 返回一個(gè)數(shù)字的指數(shù)形式的字符串,形如:1.23e+2
toFixed() 返回指定小數(shù)位數(shù)的表示形式,var a=123,b=a.toFixed(2)//b="123.00"
toPrecision() 返回一個(gè)指定精度的數(shù)字。如下例子中,a=123中,3會由于精度限制消失,var a=123,b=a.toFixed(2)//b="123.00"
數(shù)學(xué)對象(Math)
方法 描述
abs() 絕對值
sin(),?cos(),?tan() 標(biāo)準(zhǔn)三角函數(shù);參數(shù)為弧度
asin(),?acos(),?atan(),?atan2() 反三角函數(shù); 返回值為弧度
sinh(),?cosh(),?tanh() 雙曲三角函數(shù); 返回值為弧度.
asinh(),?acosh(),?atanh() 反雙曲三角函數(shù);返回值為弧度.
pow(),?exp(),?expm1(),?log10(),?log1p(),?log2() 指數(shù)與對數(shù)函數(shù)
floor(),?ceil() 返回最大/最小整數(shù)小于/大于或等于參數(shù)
min(),?max()
返回一個(gè)以逗號間隔的數(shù)字參數(shù)列表中的較小或較大值(分別地)
random() 返回0和1之間的隨機(jī)數(shù)。
round(),?fround(),?trunc(), 四舍五入和截?cái)嗪瘮?shù)
sqrt(),?cbrt(),?hypot() 平方根,立方根,平方參數(shù)的和的平方根?
兩個(gè)參數(shù)平方和的平方根
sign() 數(shù)字的符號, 說明數(shù)字是否為正、負(fù)、零。
clz32(), 在32位2進(jìn)制表示中,開頭的0的數(shù)量.
imul() 返回傳入的兩個(gè)參數(shù)相乘結(jié)果的類C的32位表現(xiàn)形式
字符串和文本

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110306.html

相關(guān)文章

  • 判斷是否是數(shù)組的幾種方法— (js基礎(chǔ)復(fù)習(xí)第1期)

    摘要:如果網(wǎng)頁中包含多個(gè)框架,那實(shí)際上就存在兩個(gè)以上不同的全局執(zhí)行環(huán)境,從而存在兩個(gè)以上不同版本的構(gòu)造函數(shù)。如果你從一個(gè)框架向另一個(gè)框架傳入一個(gè)數(shù)組,那么傳入的數(shù)組與在第二個(gè)框架中原生創(chuàng)建的數(shù)組分別具有各自不同的構(gòu)造函數(shù)。 1. 首先,typeof肯定是不行的 對于一些基本類型,typeof是可以判斷出數(shù)據(jù)類型,但是判斷一些引用類型時(shí)候,不能具體到具體哪一種類型 再來復(fù)習(xí)一下typeof的...

    supernavy 評論0 收藏0
  • React復(fù)習(xí)進(jìn)階 - 高階組件的使用/配置裝飾品模式/新版context的使用

    摘要:所謂高階組件即使是接受一個(gè)組件作為參數(shù)返回一個(gè)新組件的函數(shù)用于提高組件的自身能力提高組件復(fù)用性普通高階組件函數(shù)將父級屬性向下傳遞并追加新屬性為添加樣式和木偶組件傳入一個(gè)組件返回一個(gè)函數(shù)式組件高階組件木偶組件我是本體是同樣還可以為增加生命周期 所謂高階組件即使是接受一個(gè)組件作為參數(shù), 返回一個(gè)新組件的函數(shù), 用于提高組件的自身能力, 提高組件復(fù)用性 1.普通高階組件 HOC函數(shù)將父級屬性...

    canger 評論0 收藏0
  • JS復(fù)習(xí)--原型鏈小結(jié)

    摘要:為什么需要原型鏈為了實(shí)現(xiàn)繼承,具有相同特性的代碼不需要重復(fù)編寫,放在構(gòu)造函數(shù)里面,實(shí)例化的對象都會擁有里面的屬性了,也就是可以共享屬性和方法。 一段簡單代碼引入 function Foo() {}; var f1 = new Foo(); showImg(https://segmentfault.com/img/bV4yXs?w=1176&h=944); 1.概念簡單理解 Foo...

    Gu_Yan 評論0 收藏0
  • 前端復(fù)習(xí)筆記--1.html標(biāo)簽復(fù)習(xí)速查

    摘要:可讀性,提高代碼的可讀性,便于多人的修改維護(hù),提高開發(fā)效率。主流瀏覽器都兼容的新標(biāo)簽,對于及以下版本不認(rèn)識的新元素,可以使用創(chuàng)建一個(gè)沒用的元素來解決,例如,也可以使用來解決兼容性問題,詳情可參考 概覽 showImg(https://segmentfault.com/img/bV5JXT?w=1880&h=1050); 文檔章節(jié) 導(dǎo)航 表示和主要內(nèi)容不相關(guān)的區(qū)域 表示一個(gè)獨(dú)...

    番茄西紅柿 評論0 收藏0

發(fā)表評論

0條評論

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