中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

比較實用的JavaScript 片段有哪些

發布時間:2021-09-30 14:46:34 來源:億速云 閱讀:146 作者:柒染 欄目:web開發

比較實用的JavaScript 片段有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1.三元運算符

let someThingTrue = true if(someThingTrue){     handleTrue() }else{     handleFalse() }  ****** 以下是簡短版本 ******  let someThingTrue = true someThingTrue ?  handleTrue() : handleFalse()

2.短路或運算

const defaultValue = "SomeDefaultValue" let someValueNotSureOfItsExistance = null let expectingSomeValue = someValueNotSureOfItsExistance ||     defaultValue  console.log(expectingSomeValue) // SomeDefaultValue

3. 條件成立

let someValue = true if (someValue) {   console.log('條件成立!') }

4. for 循環

for (let i = 0; i < 1e2; i++) { // 代替 i<100 是不是有點酷 } let someValues = [1, 2, 4] for (let val in someValues) {   console.log(val) } let obj = {   'key1': 'value1',   'key2': 'value2',   'key3': 'value3' } for (let key in obj) {   console.log(key) }

5. 值到對象的映射

let x='x',y='y' let obj = {x,y}  console.log(obj) // {x: "x", y: "y"}

6. Object.entries()

const credits = {   producer: '大遷世界',   name: '前端小智',   rating: 9 } const arr = Object.entries(credits) console.log(arr)  *** 輸出 *** [ [ 'producer', '大遷世界' ], [ 'name', '前端小智' ], [ 'rating', 9 ] ]

7. Object.values()

const credits = {   producer: '大遷世界',   name: '前端小智',   rating: 9 } const arr = Object.values(credits) console.log(arr)  *** 輸出 ***  [ '大遷世界', '前端小智', 9 ]

8. 模板字面量

let name = '前端小智' let age = 20 var someStringConcatenateSomeVariable = `我是 ${name},今年 ${age} 歲` console.log(someStringConcatenateSomeVariable)

9. 解構賦值

import { observable, action, runInAction } from 'mobx';

10.多行字符串

let multiLineString = `some string\n with multi-line of\n characters\n`  console.log(multiLineString)

11.Array.find 簡寫

const pets = [{     type: 'Dog',     name: 'Max'   },   {     type: 'Cat',     name: 'Karl'   },   {     type: 'Dog',     name: 'Tommy'   } ] pet = pets.find(pet => pet.type === 'Dog' && pet.name === 'Tommy')  console.log(pet) // { type: 'Dog', name: 'Tommy' }

12.默認參數值

早期的做法

function area(h, w) {   if (!h) {     h = 1;   }   if (!w) {     w = 1;   }   return h * w }

ES6 以后的做法

function area(h = 1, w = 1) {   return h * w }

13.箭頭函數的簡寫

let sayHello = (name) => {   return `你好,${name}` }  console.log(sayHello('前端小智'))

簡寫如下:

let sayHello = name => `你好,${name}`  console.log(sayHello('前端小智'))

14.隱式返回

let someFuncThatReturnSomeValue = (value) => {   return value + value } console.log( someFuncThatReturnSomeValue('前端小智'))

簡寫如下:

let someFuncThatReturnSomeValue = (value) => (   value + value ) console.log(someFuncThatReturnSomeValue('前端小智'))

15.函數必須有參數值

function mustHavePatamMethod(param) {   if (param === undefined) {     throw new Error('Hey You must Put some param!');   }   return param; }

以像這樣重寫:

mustHaveCheck = () => {   throw new Error('Missing parameter!') } methodShoudHaveParam = (param = mustHaveCheck()) => {   return param }

16.charAt() 簡寫

'SampleString'.charAt(0) // S // 簡寫 'SampleString'[0]

17.有條件的函數調用

function fn1() {   console.log('I am Function 1') }  function fn2() {   console.log('I am Function 2') } /* 長的寫法 */ let checkValue = 3; if (checkValue === 3) {   fn1() } else {   fn2() }

簡短的寫法:

(checkValue === 3 ? fn1 : fn2)()

17.Math.Floor 簡寫

let val = '123.95'  console.log(Math.floor(val)) // 常規寫法 console.log(~~val) // 簡寫

18.Math.pow  簡寫

Math.pow(2, 3) // 8 // 簡寫 2 ** 3 // 8

19.將字符串轉換為數字

const num1 = parseInt('100') // 簡寫 console.log(+"100") console.log(+"100.2")

20.&& 運算

let value = 1; if (value === 1)   console.log('Value is one') //OR In short  value && console.log('Value is one')

21.toString 簡寫

let someNumber = 123 console.log(someNumber.toString()) // "123" // 簡寫 console.log(`${someNumber}`) // "123"

22.可選的鏈運算符(即將發布)

現在有一個關于ECMAScript的新提議,值得了解。

let someUser = {   name: 'Jack' } let zip = someUser?.address?.zip //可選鏈接,像 Swift

如果 zip是undefined ,則不會引發錯誤。

該語法還支持函數和構造函數調用

let address = getAddressByZip.?(12345)

如果getAddressByZip是調用它的函數,否則,表達式將以undefined的形式計算。

23. 使用對象的方式來替換 switch 語法

let fruit = 'banana'; let drink; switch (fruit) {   case 'banana':     drink = 'banana juice';     break;   case 'papaya':     drink = 'papaya juice';     break;   default:     drink = 'Unknown juice!' } console.log(drink) // banana juice

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仙游县| 原阳县| 台州市| 塔河县| 喜德县| 烟台市| 衡南县| 凤翔县| 庄浪县| 永吉县| 木里| 江永县| 池州市| 无极县| 福泉市| 彭泽县| 平凉市| 天津市| 登封市| 陆川县| 伊通| 桂东县| 阳山县| 赤水市| 承德市| 左权县| 调兵山市| 新昌县| 龙南县| 扶余县| 塔城市| 辛集市| 怀来县| 大名县| 宜兰市| 沈阳市| 阿克陶县| 蒙山县| 龙江县| 巩义市| 佛坪县|