屬性訪問(wèn)表達(dá)式運(yùn)算得到一個(gè)對(duì)象屬性或一個(gè)數(shù)組元素的值。js為屬性訪問(wèn)定義了2中語(yǔ)法:
不管使用何種形式屬性訪問(wèn)表達(dá)式,在.和[之前的表達(dá)式鐘會(huì)首先計(jì)算,如果計(jì)算結(jié)果是null或undefined,則表達(dá)式會(huì)拋出一個(gè)類(lèi)型錯(cuò)誤異常,因?yàn)檫@兩個(gè)值都不能包含任意屬性。
顯然.identifier的寫(xiě)法更加簡(jiǎn)單,單這種方法只適用于要訪問(wèn)的屬性名稱是合法的標(biāo)示符,且需要知道要訪問(wèn)的屬性名字。如果屬性名稱是一個(gè)保留字或包含空格和標(biāo)點(diǎn)符號(hào),或是一個(gè)數(shù)字(對(duì)于數(shù)組來(lái)說(shuō)),則必須使用方括號(hào)的寫(xiě)法。當(dāng)屬姓名是通過(guò)運(yùn)算得出的值而不是固定的值的時(shí)候,這時(shí)必須使用方括號(hào)寫(xiě)法。
ECMASctript規(guī)范允許內(nèi)置函數(shù)返回一個(gè)左值,但自定義函數(shù)不能返回左值。
運(yùn)算符的優(yōu)先級(jí)和結(jié)合性規(guī)定了它們?cè)趶?fù)雜表達(dá)式中的運(yùn)算順序,單并沒(méi)有規(guī)定子表達(dá)式計(jì)算過(guò)程中的運(yùn)算順序。js總是嚴(yán)格按照從左到右的順序來(lái)計(jì)算表達(dá)式,例如如下代碼:
將首先計(jì)算w,然后依次計(jì)算x,y和z的值;接著是y*z的值,然后是加上x(chóng)的值,最后將其復(fù)制給表達(dá)式w所指代的變量或?qū)傩?。給表達(dá)式添加圓括號(hào)會(huì)改變乘法、加法和賦值運(yùn)算的關(guān)系,但從左到右的順序是不會(huì)改變的。
js中所有數(shù)字都是浮點(diǎn)型的,除法運(yùn)算結(jié)果也是浮點(diǎn)型,比如5/2結(jié)果是2.5.
求余運(yùn)算操作符通常都是整數(shù),但也可以為浮點(diǎn)數(shù),比如6.5%2.1結(jié)果為0.2
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com