JS奇謀詭計 16 Hacks

2021-09-13 17:33:41 字數 2997 閱讀 5979

好久沒寫部落格啦~這次寫一篇輕鬆的內容,js裡的16個有趣的技巧,簡單總結自tal bereznitskey 的兩篇部落格,**摘自原文。

前9個**於2023年的部落格,後7個**於2023年底的部落格。

// boring

if (success) else

// hipster-fun

var method = (success ? 'start' : 'stop');

obj[method]();

['milk', 'coffee', 'suger'].join(', '); // = 'milk, coffee, suger'
var name = myname || 'no name';
// boring

if (isthisawesome)

// awesome

isthisawesome && alert('yes');

// also cool for guarding your code

var acoolfunction = undefined;

acoolfunction && acoolfunction(); // won't run nor crash

快速定位未完成的內容,因為正常情況下**不會出現***。

var a = [1,2,3,4,5,6,7,8,9,10];

console.time('testing_forward');

for (var i = 0; i < a.length; i++);

console.timeend('testing_forward');

var x = 1;

x++;

利用全域性變數可以在控制台中查詢變數資訊,但要記得在正式上線發布時刪除這些全域性變數。

var deeplynestedfunction = function() ;

// globalize it for debugging:

pub = private_object;

};// now from the console (chrome dev tools, firefox tools, etc)

pub.year;

var firstname = 'tal';

var screenname = 'ketacode'

// super

var template = 'hi, my name is and my twitter screen name is @';

var txt = template.replace('', firstname)

.replace('', screenname);

個人建議在es6的時代還是優雅地用``、${}模板字串吧。

let a = 'world', b = 'hello'

[a, b] = [b, a]

console.log(a) // -> hello

console.log(b) // -> world

const [user, account] = await promise.all([

fetch('/user'),

fetch('/account')

])

列印物件

const a = 5, b = 6, c = 7

console.log()

// outputs this nice object:

//

列印**

console.table(data [, columns]);

// find max value

const max = (arr) => math.max(...arr); //也是利用了解構

max([123, 321, 32]) // outputs: 321

// sum array

const sum = (arr) => arr.reduce((a, b) => (a + b), 0)

sum([1, 2, 3, 4]) // output: 10

const one = ['a', 'b', 'c']

const two = ['d', 'e', 'f']

const three = ['g', 'h', 'i']

// old way #1

const result = one.concat(two, three)

// old way #2

const result = .concat(one, two, three)

// new

const result = [...one, ...two, ...three] //沒錯,又是解構!

const obj = 

const arr = [ ...oldarr ]

// 強大的解構

const getstuffnotbad = (id, force, verbose) => 

const getstuffawesome = () =>

// somewhere else in the codebase... wtf is true, true?

getstuffnotbad(150, true, true)

// somewhere else in the codebase... i ❤ js!!!

getstuffawesome()

到此為止!

感悟:解構(destructuring)真的很強大~~~(ง •_•)ง

day16開始學習js

經過前些天的複習,前兩天得以快速完成了day12 15的任務,於是html和css的學習暫時告于段落。總用時約3小時 api分兩種 谷歌地圖 api 高德地圖 api 可以在 嵌入定製的地圖等等。html中input標籤的placeholder屬性 在不輸入時,淺色顯示內容。html doctype...

16 js動態新增樣式

有兩種方式 div.setattribute style font size 44px 一次新增多個 div.style.color white style.樣式名 樣式值 function test1 預設好兩個樣式 然後js改變class屬性值為準備好的樣式 就好了。也有兩種修改class屬性值...

16 js的高階函式reduce

需求 陣列裡所有值進行相加 lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle head 需求 陣列裡所有值進行相加 const nums 34 4553 345...