摘要:搬家篇三開(kāi)胃菜因?yàn)榇笥诘扔诘谋容^,不是相等的比較,所以值得注意的操作符一元操作符通過(guò)進(jìn)行轉(zhuǎn)換其中包括號(hào)運(yùn)算符,號(hào)運(yùn)算符,都是經(jīng)轉(zhuǎn)換邏輯運(yùn)算符等價(jià)于將操作數(shù)進(jìn)行布爾值類型轉(zhuǎn)換位操作當(dāng)一邊操作數(shù)為時(shí),可等價(jià)于操作數(shù)為由以下變化可以證得加號(hào)運(yùn)算
搬家篇三開(kāi)胃菜
[] == ![] //true ==> "" == false 123 ^ [] //123 ==> 123 ^ 0 ~{} //-1 ==> ~0 {} >= {1,2} //true ==>因?yàn)榇笥诘扔诘谋容^,不是相等的比較,所以[object Object] >=[object Object] [null] == "" //true ==> [""] == ""值得注意的操作符:
一元操作符:通過(guò)Number()進(jìn)行轉(zhuǎn)換;其中包括*號(hào)運(yùn)算符,/號(hào)運(yùn)算符,都是經(jīng)Number()轉(zhuǎn)換
+undefined //NaN
邏輯運(yùn)算符:!等價(jià)于Boolean(),將操作數(shù)進(jìn)行布爾值類型轉(zhuǎn)換
位操作:~, |, &, ^;當(dāng)一邊操作數(shù)為NaN時(shí),可等價(jià)于操作數(shù)為0;
//由以下變化可以證得: NaN ^ NaN ^ NaN = 0
加號(hào)運(yùn)算符,比較復(fù)雜
優(yōu)先級(jí)最高的是字符串,任何操作數(shù)與字符串相加都將其String(x)成字符串,再進(jìn)行字符串拼接
console.log("a" + 1); //"a1" console.log("a" + "1"); //"a1" console.log("a" + false); //"afalse" console.log("a" + undefined); //"aundefined" console.log("a" + NaN); //"aNaN" console.log("a" + null); //"anull" console.log("a" + {}); //"a[object Object]"
其次number,而object在正常情況下輸出的就是string類型
//console.log(1 + "1"); //"11" console.log(1 + 1); //2 console.log(1 + true); //2 console.log(1 + undefined); //NaN console.log(1 + NaN); //NaN console.log(1 + null); //1 console.log(1 + {}); //"1[object,Object]"
當(dāng)一方為Boolean,或者兩方都是Boolean時(shí),都將其進(jìn)行Number處理,同理undefined與null也一樣
console.log(true + true); //2 console.log(true + undefined); //NaN console.log(true + NaN); //NaN console.log(true + null); //1 console.log((true + [NaN])); //"trueNaN"
減號(hào),則將兩邊都進(jìn)行Number()處理
比較運(yùn)算:==, >, <, >=, >=, != 遵循規(guī)則(摘自高程3):
1.null和undefined是相等的
2.要比較相等之前,不能將null和undfined轉(zhuǎn)換成其他任何值
3.如有一個(gè)操作數(shù)為NaN,相等操作符返回fasle,不相等操作符返回true, NaN不等于NaN
4.兩個(gè)對(duì)象之間的比較,兩者指向同一個(gè)對(duì)象(地址相同),相等操作符返回true,否則返回false
值得注意的是:對(duì)象間的>=與==(!=)比較方式是不同的,前者是toString()返回值的比較,后者是引用地址的比較
當(dāng)都是兩邊都是字符串時(shí),按字符編碼大小進(jìn)行比較
當(dāng)一方操作數(shù)為boolean,string,object,轉(zhuǎn)成number類型的數(shù)值再進(jìn)行比較;
console.log("NaN" == NaN); //false console.log(undefined == null); //true console.log({} >= {1:2}); //true console.log({1:2} != {}); //true console.log({} == {1:2}); //false console.log([1] == [1]); //false console.log(null == 0); //false
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/97931.html
摘要:為什么用能夠動(dòng)態(tài)的取值,實(shí)現(xiàn)了隱式傳遞一個(gè)對(duì)象的引用上面的例子中想在中取的值用就能簡(jiǎn)單搞定一定程度上實(shí)現(xiàn)了動(dòng)態(tài)取值這個(gè)就是綁定了,這個(gè)就是上下文對(duì)象也就是調(diào)用棧是什么始終是一個(gè)對(duì)象,函數(shù)在被調(diào)用時(shí)發(fā)生綁定,具體綁定了什么看調(diào)用的位置,有一定 this 為什么用this this能夠動(dòng)態(tài)的取值,實(shí)現(xiàn)了隱式傳遞一個(gè)對(duì)象的引用 var obj = { ...
摘要:搬家篇二數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型基本數(shù)據(jù)引用數(shù)據(jù)當(dāng),小數(shù)點(diǎn)后大于等于位時(shí)會(huì)自動(dòng)轉(zhuǎn)換成科學(xué)計(jì)數(shù)法當(dāng),當(dāng)整數(shù)部分大于等于位時(shí)會(huì)自動(dòng)轉(zhuǎn)換成科學(xué)計(jì)數(shù)法。 搬家篇二 javascript數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型 基本數(shù)據(jù):Number, Boolean, Undefined, Null, String; 引用數(shù)據(jù):Object; 當(dāng)0.000...01,小數(shù)點(diǎn)后大于等...
摘要:不能用于機(jī)器學(xué)習(xí)太慢幻覺(jué)矩陣操作太難有函數(shù)庫(kù)啊,比如只能用于前端開(kāi)發(fā)開(kāi)發(fā)者笑了機(jī)器學(xué)習(xí)庫(kù)都是開(kāi)發(fā)者機(jī)器學(xué)習(xí)庫(kù)神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)自然語(yǔ)言處理卷積神經(jīng)網(wǎng)絡(luò)一系列庫(kù)神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)我們將使用來(lái)實(shí)現(xiàn)線性回歸,源代碼在倉(cāng)庫(kù)。 譯者按: AI時(shí)代,不會(huì)機(jī)器學(xué)習(xí)的JavaScript開(kāi)發(fā)者不是好的前端工程師。 原文: Machine Learning with JavaScript : Part 1 ...
摘要:是的縮寫,它是一種監(jiān)督學(xué)習(xí)算法。每一個(gè)機(jī)器學(xué)習(xí)算法都需要數(shù)據(jù),這次我將使用數(shù)據(jù)集。其數(shù)據(jù)集包含了個(gè)樣本,都屬于鳶尾屬下的三個(gè)亞屬,分別是山鳶尾變色鳶尾和維吉尼亞鳶尾。四個(gè)特征被用作樣本的定量分析,它們分別是花萼和花瓣的長(zhǎng)度和寬度。 譯者按: 機(jī)器學(xué)習(xí)原來(lái)很簡(jiǎn)單啊,不妨動(dòng)手試試! 原文: Machine Learning with JavaScript : Part 2 譯者: Fund...
閱讀 2982·2021-11-23 10:12
閱讀 2708·2021-11-23 09:51
閱讀 2052·2021-11-15 11:37
閱讀 1403·2019-08-30 15:55
閱讀 1977·2019-08-29 15:40
閱讀 1180·2019-08-28 18:30
閱讀 1662·2019-08-28 18:02
閱讀 2654·2019-08-26 12:00