let arr =[1
,3,2
,4,99
];arr = arr.
sort
((a, b)
=>);
console.
log(arr)
;
var data =[10
,20,30
];data.
unshift(40
,50); console.
log(data)
;data.
pop(
); console.
log(data)
;data.
push(60
,70);
data.
shift()
;
vara=
;varb=
function()
;varc=
function()
;b.prototype =a;
c.prototype =a;
a.n++
;let b =
newb()
;let c =
newc()
;console.
log(b.n)
;console.
log(c.n)
;/**
* console.log(b.n);
*在查詢 b.n 是首先查詢 b 物件自身有沒有 n 屬性,如果沒有會去原型(prototype)上查詢
*當執行 var b = new b() 時,函式內部 this.n=9999(此時this指向b) 返回b物件,b物件有自身的n屬性,所以返回 *9999
*console.log(c.n);
*同理*當執行 var c = new c() 時,c物件沒有自身的n屬性,向上查詢,找到原型 (prototype)上的 n 屬性,因為 a.n++*(此時物件a中的n為4400), 所以返回4400
*/
var x =0;
switch
(++x)
console.
log(x)
;
var x =10;
var y =20;
var z = x < y ? x++
:++y;
console.
log(x, y, z)
;
var x =
newboolean()
;let x =;if
(x)var y =
boolean(0
);if(y)
/** 此題考查的是 js 的型別轉換:
if(x) 這裡期望 x 是乙個布林型別的原始值,而 x 是乙個物件,任何物件轉為布林值,都為得到 true(切記!在 js 中,只有 0,-0,nan,"",null,undefined 這六個值轉布林值時,結果為 false)。
題目的第二部分,一定要注意 y = boolean(0),而不是 y = new boolean(0)。這兩個有很大區別,用 new 呼叫建構函式會新建乙個布林物件,此處沒有加 new,進行的是顯示型別轉換,正如上述第一條所說,0 轉換布林,結果為 false,所以此時 y 的值就是 false。如果加了 new,那麼 y 就是乙個 boolean 型別的物件,執行 if(y) 時,物件轉布林,始終是 true,所以結果會與不加 new 的時候相反。
*/
// 以下哪些表示式的值為0?
"use strict"
;console.
log(((
)=>
).length)
;console.
log(1^
2);console.
log(
typeof(+
));/**
* (()=>{}).length; 獲取方法形參個數,形參為0
1=0001 2=0010 按位與運算,同為1才為1,否則返回0
+ 隱式型別轉換,因為是物件,所以toprimitive->valueof->tostring為'',結果就是+''===0
*/
functiona(
)let a;
a =10
;console.
log(
typeof a)
2020 11 30 雜技二三 有感觸
1.技術認知。技術服務於業務。你所謂追求新技術,本質應該服務業務。2.單體跟微服務的區別。單體變成微服務的變化,猶如今年開始出來換工作時候。你沉浸在自己的單體服務時間裡。重複一些curd,smm。以及對接第三方服務的工作。然而現實給了你不一樣的感覺,你不會微服務,就好像你表現得跟剛出社會一樣手足無措...
20201130 棧與鍊錶
經過這短短乙個月,真的感受到自己的無知與懦弱,比如沒有確定的事情,就敢跟小可愛承諾,自己的不成熟導致了這一兩年的倒退,這乙個月暫時就不實習了,好好把知識補一補,然後將python好好學一下,簡單會sql是沒有未來的,不管在哪個企業,都是以營利為目的,小可愛這麼拼,每天5點多就開始上班,你心裡難道一點...
2020 11 30 NOIP提高A組 模擬
t1 首先有乙個結論 每次肯定都是把權值最大的點周圍還沒有刪的邊都刪掉,這個很好證。然後可以把刪邊變成加邊,接著用並查集維護 同時也可以直接用公式 ans sum a i max a i sum a x i a y i 這條公式的意義是除了最大值點之外的每乙個點都會在作為某個最大值點被刪之後某棵子樹...