bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Javascript保留字,編程中的保留字

javascript中保留字和關(guān)鍵字的區(qū)別。

保留字(reserved

公司主營業(yè)務(wù):網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出太和免費做網(wǎng)站回饋大家。

words)一般是等同于關(guān)鍵字(keywords)的。

從字面含義上理解,保留字是語言中已經(jīng)定義過的字,使用者不能再將這些字作為變量名或過程名使用。而關(guān)鍵字則指在語言中有特定含義,成為語法中一部分的那些字。

Web前端工程師要知道的JavaScript變量命名規(guī)范

今天小編要跟大家分享的文章是關(guān)于Web前端工程師要知道的JavaScript變量命名規(guī)范,正在從事Web前端工作的小伙伴們來和小編一起看一看吧,希望本篇文章能夠?qū)Υ蠹矣兴鶐椭?/p>

JavaScript變量命名規(guī)范:只能由英語字母、數(shù)字、下劃線、美元符號$構(gòu)成,且不能以數(shù)字開頭,并且不能是JavaScript保留字。

下列都是非常正確的變量命名:

varhaha=250;

varxixi=300;

vara1=400;

vara2=400;

varabc_123=400;

var$abc=999;

var$o0_0o$=888;

var$=1000;

var_=2000;

var________=3000;

下列都是錯誤的命名:

vara-1=1000;//不能有怪異符號

vara@=2000;//不能有怪異符號

var2year=3000;//不能以數(shù)字開頭

vara¥=4000;//不能有怪異符號

vara*#$#$@=5000;//不能有怪異符號

varab=300;//不能有空格

下列的單詞,叫做保留字,就是說不允許當(dāng)做變量名

abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto

implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile

需要注意大寫字母是可以使用的,并且大小寫敏感。也就是說A和a是兩個變量。

1varA=250;

2vara=888;

以上就是小編今天為大家分享的關(guān)于Web前端工程師要知道的JavaScript變量命名規(guī)范的文章,希望本篇文章能夠?qū)φ趶氖耊eb前端工作的小伙伴們有所幫助。想要了解更多Web前端知識記得關(guān)注北大青鳥Web培訓(xùn)官網(wǎng)。最后祝愿小伙伴們工作順利!

Web前端工程師應(yīng)該知道的JavaScript使用小技巧

今天小編要跟大家分享的文章是關(guān)于Web前端工程師應(yīng)該知道的JavaScript使用小技巧。任何一門技術(shù)在實際中都會有一些屬于自己的小技巧。同樣的,在使用JavaScript時也有一些自己的小技巧,只不過很多時候有可能容易被大家忽略。而在互聯(lián)網(wǎng)上,時不時的有很多同行朋友會總結(jié)(或收集)一些這方面的小技巧。

今天在這篇文章中,小編會整理一些大家熟悉或不熟悉的有關(guān)于JavaScript的小技巧,希望能夠?qū)Υ蠹业膶W(xué)習(xí)和工作有所幫助。

一、數(shù)組

先來看使用數(shù)組中常用的一些小技巧。

01、數(shù)組去重

ES6提供了幾種簡潔的數(shù)組去重的方法,但該方法并不適合處理非基本類型的數(shù)組。對于基本類型的數(shù)組去重,可以使用...new

Set()來過濾掉數(shù)組中重復(fù)的值,創(chuàng)建一個只有唯一值的新數(shù)組。

constarray=[1,1,2,3,5,5,1]

constuniqueArray=[...newSet(array)];

console.log(uniqueArray);

Result:(4)[1,2,3,5]

這是ES6中的新特性,在ES6之前,要實現(xiàn)同樣的效果,我們需要使用更多的代碼。該技巧適用于包含基本類型的數(shù)組:undefined、null、boolean、string和number。如果數(shù)組中包含了一個object,function或其他數(shù)組,那就需要使用另一種方法。

除了上面的方法之外,還可以使用Array.from(newSet())來實現(xiàn):

constarray=[1,1,2,3,5,5,1]

Array.from(newSet(array))

Result:(4)[1,2,3,5]

另外,還可以使用Array的.filter及indexOf()來實現(xiàn):

constarray=[1,1,2,3,5,5,1]

array.filter((arr,index)=array.indexOf(arr)===index)

Result:(4)[1,2,3,5]

注意,indexOf()方法將返回數(shù)組中第一個出現(xiàn)的數(shù)組項。這就是為什么我們可以在每次迭代中將indexOf()方法返回的索引與當(dāng)索索引進(jìn)行比較,以確定當(dāng)前項是否重復(fù)。

02、確保數(shù)組的長度

在處理網(wǎng)格結(jié)構(gòu)時,如果原始數(shù)據(jù)每行的長度不相等,就需要重新創(chuàng)建該數(shù)據(jù)。為了確保每行的數(shù)據(jù)長度相等,可以使用Array.fill來處理:

letarray=Array(5).fill('');

console.log(array);

Result:(5)["","","","",""]

03、數(shù)組映射

不使用Array.map來映射數(shù)組值的方法。

constarray=[

{

ame:'大漠',

email:'w3cplus@#'

},

{

ame:'Airen',

email:'airen@#'

}

]

constname=Array.from(array,({name})=name)

Result:(2)["大漠","Airen"]

04、數(shù)組截斷

如果你想從數(shù)組末尾刪除值(刪除數(shù)組中的最后一項),有比使用splice()更快的替代方法。

例如,你知道原始數(shù)組的大小,可以重新定義數(shù)組的length屬性的值,就可以實現(xiàn)從數(shù)組末尾刪除值:

letarray=[0,1,2,3,4,5,6,7,8,9]

console.log(array.length)

Result:10

array.length=4

console.log(array)

Result:(4)[0,1,2,3]

這是一個特別簡潔的解決方案。但是,slice()方法運行更快,性能更好:

letarray=[0,1,2,3,4,5,6,7,8,9];

array=array.slice(0,4);

console.log(array);

Result:[0,1,2,3]

05、過濾掉數(shù)組中的falsy值

如果你想過濾數(shù)組中的falsy值,比如0、undefined、null、false,那么可以通過map和filter方法實現(xiàn):

constarray=[0,1,'0','1','大漠','#',undefined,true,false,null,'undefined','null',NaN,'NaN','1'+0]

array.map(item={

returnitem

}).filter(Boolean)

Result:(10)[1,"0","1","大漠","#",true,"undefined","null","NaN","10"]

06、獲取數(shù)組的最后一項

數(shù)組的slice()取值為正值時,從數(shù)組的開始處截取數(shù)組的項,如果取值為負(fù)整數(shù)時,可以從數(shù)組末屬開始獲取數(shù)組項。

letarray=[1,2,3,4,5,6,7]

constfirstArrayVal=array.slice(0,1)

Result:[1]

constlastArrayVal=array.slice(-1)

Result:[7]

console.log(array.slice(1))

Result:(6)[2,3,4,5,6,7]

console.log(array.slice(array.length))

Result:[]

正如上面示例所示,使用array.slice(-1)獲取數(shù)組的最后一項,除此之外還可以使用下面的方式來獲取數(shù)組的最后一項:

console.log(array.slice(array.length-1))

Result:[7]

07、過濾并排序字符串列表

你可能有一個很多名字組成的列表,需要過濾掉重復(fù)的名字并按字母表將其排序。

在我們的例子里準(zhǔn)備用不同版本語言的JavaScript

保留字的列表,但是你能發(fā)現(xiàn),有很多重復(fù)的關(guān)鍵字而且它們并沒有按字母表順序排列。所以這是一個完美的字符串列表(數(shù)組)來測試我們的JavaScript小知識。

varkeywords=['do','if','in','for','new','try','var','case','else','enum','null','this','true','void','with','break','catch','class','const','false','super','throw','while','delete','export','import','return','switch','typeof','default','extends','finally','continue','debugger','function','do','if','in','for','int','new','try','var','byte','case','char','else','enum','goto','long','null','this','true','void','with','break','catch','class','const','false','final','float','short','super','throw','while','delete','double','export','import','native','public','return','static','switch','throws','typeof','boolean','default','extends','finally','package','private','abstract','continue','debugger','function','volatile','interface','protected','transient','implements','instanceof','synchronized','do','if','in','for','let','new','try','var','case','else','enum','eval','null','this','true','void','with','break','catch','class','const','false','super','throw','while','yield','delete','export','import','public','return','static','switch','typeof','default','extends','finally','package','private','continue','debugger','function','arguments','interface','protected','implements','instanceof','do','if','in','for','let','new','try','var','case','else','enum','eval','null','this','true','void','with','await','break','catch','class','const','false','super','throw','while','yield','delete','export','import','public','return','static','switch','typeof','default','extends','finally','package','private','continue','debugger','function','arguments','interface','protected','implements','instanceof'];

因為我們不想改變我們的原始列表,所以我們準(zhǔn)備用高階函數(shù)叫做filter,它將基于我們傳遞的回調(diào)方法返回一個新的過濾后的數(shù)組。回調(diào)方法將比較當(dāng)前關(guān)鍵字在原始列表里的索引和新列表中的索引,僅當(dāng)索引匹配時將當(dāng)前關(guān)鍵字push到新數(shù)組。

最后我們準(zhǔn)備使用sort方法排序過濾后的列表,sort只接受一個比較方法作為參數(shù),并返回按字母表排序后的列表。

在ES6下使用箭頭函數(shù)看起來更簡單:

constfilteredAndSortedKeywords=keywords

.filter((keyword,index)=keywords.lastIndexOf(keyword)===index)

.sort((a,b)=a

這是最后過濾和排序后的JavaScript保留字列表:

console.log(filteredAndSortedKeywords);

Result:['abstract','arguments','await','boolean','break','byte','case','catch','char','class','const','continue','debugger','default','delete','do','double','else','enum','eval','export','extends','false','final','finally','float','for','function','goto','if','implements','import','in','instanceof','int','interface','let','long','native','new','null','package','private','protected','public','return','short','static','super','switch','synchronized','this','throw','throws','transient','true','try','typeof','var','void','volatile','while','with','yield']

08、清空數(shù)組

如果你定義了一個數(shù)組,然后你想清空它。通常,你會這樣做:

letarray=[1,2,3,4];

functionemptyArray(){

array=[];

}

emptyArray();

但是,這有一個效率更高的方法來清空數(shù)組。你可以這樣寫:

letarray=[1,2,3,4];

functionemptyArray(){

array.length=0;

}

emptyArray();

09、拍平多維數(shù)組

使用...運算符,將多維數(shù)組拍平:

10、從數(shù)組中獲取最大值和最小值

可以使用Math.max和Math.min取出數(shù)組中的最大小值和最小值:

constnumbers=[15,80,-9,90,-99]

constmaxInNumbers=Math.max.apply(Math,numbers)

constminInNumbers=Math.min.apply(Math,numbers)

console.log(maxInNumbers)

Result:90

console.log(minInNumbers)

Result:-99

另外還可以使用ES6的...運算符來完成:

constnumbers=[1,2,3,4];

Math.max(...numbers)

Result:4

Math.min(...numbers)

Result:1

二、對象

在操作對象時也有一些小技巧。

01、使用...運算符合并對象或數(shù)組中的對象

同樣使用ES的...運算符可以替代人工操作,合并對象或者合并數(shù)組中的對象。

//合并對象

constobj1={

ame:'大漠',

url:'#'

}

constobj2={

ame:'airen',

age:30

}

constmergingObj={...obj1,...obj2}

Result:{name:"airen",url:"#",age:30}

//合并數(shù)組中的對象

constarray=[

{

ame:'大漠',

email:'w3cplus@#'

},

{

ame:'Airen',

email:'airen@#'

}

]

constresult=array.reduce((accumulator,item)={

return{

...accumulator,

[item.name]:item.email

}

},{})

Result:{大漠:"w3cplus@#",Airen:"airen@#"}

02、有條件的添加對象屬性

不再需要根據(jù)一個條件創(chuàng)建兩個不同的對象,以使它具有特定的屬性。為此,使用...操作符是最簡單的。

constgetUser=(emailIncluded)={

return{

ame:'大漠',

blog:'w3cplus',

...emailIncluded{email:'w3cplus@#'}

}

}

constuser=getUser(true)

console.log(user)

Result:{name:"大漠",blog:"w3cplus",email:"w3cplus@#"}

constuserWithoutEmail=getUser(false)

console.log(userWithoutEmail)

Result:{name:"大漠",blog:"w3cplus"}

03、解構(gòu)原始數(shù)據(jù)

你可以在使用數(shù)據(jù)的時候,把所有數(shù)據(jù)都放在一個對象中。同時想在這個數(shù)據(jù)對象中獲取自己想要的數(shù)據(jù)。

在這里可以使用ES6的Destructuring特性來實現(xiàn)。比如你想把下面這個obj中的數(shù)據(jù)分成兩個部分:

constobj={

ame:'大漠',

blog:'w3cplus',

email:'w3cplus@#',

joined:'2019-06-19',

followers:45

}

letuser={},userDetails={}

({name:user.name,email:user.email,...userDetails}=obj)

{name:"大漠",blog:"w3cplus",email:"w3cplus@#",joined:"2019-06-19",followers:45}

console.log(user)

Result:{name:"大漠",email:"w3cplus@#"}

console.log(userDetails)

Result:{blog:"w3cplus",joined:"2019-06-19",followers:45}

04、動態(tài)更改對象的key

在過去,我們首先必須聲明一個對象,然后在需要動態(tài)屬性名的情況下分配一個屬性。在以前,這是不可能以聲明的方式實現(xiàn)的。不過在ES6中,我們可以實現(xiàn):

constdynamicKey='email'

letobj={

ame:'大漠',

blog:'w3cplus',

[dynamicKey]:'w3cplus@#'

}

console.log(obj)

Result:{name:"大漠",blog:"w3cplus",email:"w3cplus@#"}

05、判斷對象的數(shù)據(jù)類型

使用Object.prototype.toString配合閉包來實現(xiàn)對象數(shù)據(jù)類型的判斷:

constisType=type=target=`[object${type}]`===Object.prototype.toString.call(target)

constisArray=isType('Array')([1,2,3])

console.log(isArray)

Result:true

上面的代碼相當(dāng)于:

functionisType(type){

returnfunction(target){

return`[object${type}]`===Object.prototype.toString.call(target)

}

}

isType('Array')([1,2,3])

Result:true

或者:

constisType=type=target=`[object${type}]`===Object.prototype.toString.call(target)

constisString=isType('String')

constres=isString(('1'))

console.log(res)

Result:true

06、檢查某對象是否有某屬性

當(dāng)你需要檢查某屬性是否存在于一個對象,你可能會這樣做:

varobj={

ame:'大漠'

}

if(obj.name){

console.l

什么是保留字?

保留字指在高級語言中已經(jīng)定義過的字,使用者不能再將這些字作為變量名或過程名使用。

保留字包括關(guān)鍵字和未使用的保留字。關(guān)鍵字則指在語言中有特定含義,成為語法中一部分的那些字。在一些語言中,一些保留字可能并沒有應(yīng)用于當(dāng)前的語法中,這就成了保留字與關(guān)鍵字的區(qū)別。一般出現(xiàn)這種情況可能是由于考慮擴展性。

例如,Javascript有一些未來保留字,如abstract、double、goto等等。

擴展資料:

在一些語言中,一些保留字可能并沒有應(yīng)用于當(dāng)前的語法中,這就成了保留字與關(guān)鍵字的區(qū)別。一般出現(xiàn)這種情況可能是由于考慮擴展性。

例如,Javascript有一些未來保留字,如abstract、double、goto等等。它可能未來要增加直接跳轉(zhuǎn)的功能,那么為了使當(dāng)前版本的程序代碼能向后兼容,所以不允許使用goto作為變量名,但當(dāng)前版本的語言并不支持goto的直接跳轉(zhuǎn)功能,它目前就不是關(guān)鍵字。

關(guān)于保留字還有其他一些約定,這些約定主要是為了將來的擴充。在編程時應(yīng)避免使用這類名字。對于頭文件專用的保留字則當(dāng)程序包含了這些頭文件時才應(yīng)避免使用它們。

參考資料:百度百科-保留字

標(biāo)題名稱:Javascript保留字,編程中的保留字
瀏覽地址:http://vcdvsql.cn/article6/dsdjdog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站內(nèi)鏈、營銷型網(wǎng)站建設(shè)、ChatGPT軟件開發(fā)、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)