




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯第一季《JavaScript基礎(chǔ)篇》模擬試題第一季《JavaScript基礎(chǔ)篇》模擬試題
1.【單選題】2分|如果函數(shù)無(wú)明確的返回值,或調(diào)用了沒(méi)有參數(shù)的return語(yǔ)句,那么它真正返回的值是()。
Anull
B-1
C0
Dundefined
2.【單選題】2分|JavaScript函數(shù)的定義會(huì)包括一個(gè)稱為形參的標(biāo)識(shí)符列表,這些參數(shù)在函數(shù)體中像局部變量一樣工作。有關(guān)arguments說(shuō)明錯(cuò)誤的是()。
Aarguments是個(gè)比較特殊的對(duì)象,使用者無(wú)需明確指出參數(shù)名即可訪問(wèn)到它們。
B經(jīng)常使用arguments的屬性length來(lái)檢測(cè)傳遞給函數(shù)的參數(shù)個(gè)數(shù)。
C借助于arguments對(duì)象,我們可以模擬函數(shù)重載。
Darguments是一個(gè)標(biāo)準(zhǔn)數(shù)組
3.【單選題】2分|with語(yǔ)句引入的根本原因在于()。
A用來(lái)臨時(shí)擴(kuò)展作用域鏈。
B提高程序運(yùn)行效率。
C簡(jiǎn)化嚴(yán)格模式下代碼的書(shū)寫(xiě)。
D使用with語(yǔ)句的代碼更易于優(yōu)化。
4.【單選題】2分|有關(guān)this運(yùn)算符說(shuō)法不正確的是()。
Athis運(yùn)算符總是指向當(dāng)前的對(duì)象。
B在JS中,由于JS的動(dòng)態(tài)性,this的指向在運(yùn)行時(shí)才確定。
Cthis關(guān)鍵字在Javascript中和執(zhí)行環(huán)境,而非聲明環(huán)境有關(guān)。
D通過(guò)早期綁定可以實(shí)現(xiàn)對(duì)this的高度復(fù)用。
5.【單選題】2分|JavaScript中的錯(cuò)誤可以分為語(yǔ)法錯(cuò)誤和()。
A運(yùn)行錯(cuò)誤
B不正常錯(cuò)誤
C形式錯(cuò)誤
D系統(tǒng)錯(cuò)誤
6.【單選題】2分|有關(guān)JS中的異常處理,錯(cuò)誤的結(jié)論是()。
A語(yǔ)法錯(cuò)誤一般簡(jiǎn)稱為錯(cuò)誤(Error);而運(yùn)行錯(cuò)誤一般也叫做異常(Exception)。
BJavaScript異常處理機(jī)制主要是通過(guò)try/catch/finally三子句聯(lián)合實(shí)現(xiàn)的。
Cthrow語(yǔ)句允許我們創(chuàng)建自定義錯(cuò)誤。
Dtry、catch和finally三個(gè)子句必須聯(lián)合使用。
7.【單選題】2分|有關(guān)JS標(biāo)簽語(yǔ)句說(shuō)法錯(cuò)誤的有()。
A在Javascript中,標(biāo)簽是一個(gè)標(biāo)準(zhǔn)的有效的標(biāo)識(shí)符(不能是保留字)。
B標(biāo)簽聲明可以放在任何一個(gè)語(yǔ)句(或者語(yǔ)句塊)前面。
C在目前ES5規(guī)則中雖然goto是Javascript的保留關(guān)鍵字,但是一般很少使用goto語(yǔ)句。
D語(yǔ)句標(biāo)簽只有在它所起作用的語(yǔ)句內(nèi)是有定義的。
8.【單選題】2分|有關(guān)循環(huán)語(yǔ)句說(shuō)法正確的是()。
AECMAScript規(guī)范指定for/in循環(huán)按照屬性定義的先后順序來(lái)枚舉對(duì)象屬性。
Bdo/while循環(huán)最后必須使用分號(hào)結(jié)尾。
Cfor循環(huán)中三個(gè)表達(dá)式中至少要存在一個(gè),而且兩個(gè)分號(hào)是必不可少的。
D在計(jì)算循環(huán)表達(dá)式之前,while循環(huán)語(yǔ)句至少會(huì)執(zhí)行循環(huán)體一次。
9.【單選題】2分|有關(guān)for循環(huán)語(yǔ)句說(shuō)法錯(cuò)誤的是()。
Afor循環(huán)中三個(gè)表達(dá)式中的任何一個(gè)都可以忽略,但是兩個(gè)分號(hào)是必不可少的。
Bfor循環(huán)語(yǔ)句的初始化部分僅在循環(huán)開(kāi)始之前執(zhí)行一次。
Cfor循環(huán)變量必須是數(shù)字類型。
Dfor語(yǔ)句中的所有三部分(初始化部分、測(cè)試部分和更新部分)都是可選的。
10.【單選題】2分|有關(guān)if語(yǔ)句說(shuō)法不正確的是()。
Aif后面的條件必須使用括號(hào)包圍。
B有的if語(yǔ)句可以沒(méi)有else部分。
Cif語(yǔ)句也支持嵌套。
Delse中語(yǔ)句的執(zhí)行總是會(huì)匹配最外層的那個(gè)if語(yǔ)句中的條件判斷。
11.【單選題】2分|有關(guān)switch語(yǔ)句的結(jié)論錯(cuò)誤的是()。
A兩個(gè)case不可共同使用一個(gè)break語(yǔ)句。
B對(duì)每個(gè)case的匹配操作實(shí)際上是“===”恒等運(yùn)算符比較,因此,表達(dá)式和case的匹配并不會(huì)做任何類型轉(zhuǎn)換。
CECMAScript標(biāo)準(zhǔn)的確允許每個(gè)case關(guān)鍵字跟隨任意的表達(dá)式。
D如果在函數(shù)中使用switch語(yǔ)句,有時(shí)可以使用return來(lái)代替break
12.【單選題】2分|有關(guān)JS函數(shù)不正確的結(jié)論有()。
A定義函數(shù)時(shí)聲明了多個(gè)參數(shù),但調(diào)用時(shí)可以不使用它們。
B函數(shù)體是由JavaScript語(yǔ)句組成的,必須用花括號(hào)括起來(lái),即使函數(shù)體不包含任何語(yǔ)句。
C在嵌套時(shí),函數(shù)聲明可以出現(xiàn)在所嵌套函數(shù)的頂部也可以出現(xiàn)在底部。
D定義函數(shù)時(shí),并不執(zhí)行函數(shù)體內(nèi)的語(yǔ)句,它和調(diào)用函數(shù)時(shí)待執(zhí)行的新函數(shù)對(duì)象相關(guān)聯(lián)。
13.【單選題】2分|有關(guān)函數(shù)聲明語(yǔ)句和函數(shù)定義表達(dá)式區(qū)別錯(cuò)誤的結(jié)論是()。
A函數(shù)聲明語(yǔ)句創(chuàng)建的變量可以使用delete刪除。
B使用函數(shù)定義表達(dá)式定義的函數(shù),只有變量(函數(shù)名)聲明提前了——變量的初始化代碼仍然在原來(lái)的位置。
C函數(shù)聲明語(yǔ)句中的函數(shù)被顯式地“提前”到了腳本或函數(shù)的頂部。
D都創(chuàng)建了新的函數(shù)對(duì)象,但函數(shù)聲明語(yǔ)句中的函數(shù)名同時(shí)也是一個(gè)變量名,變量指向函數(shù)對(duì)象。
14.【單選題】2分|有關(guān)delete運(yùn)算符正確的說(shuō)法是()。
Adelete可以用于刪除任何對(duì)象屬性。
Bdelete不可以用于刪除數(shù)組元素。
Cdelete可以用于刪除任何聲明的變量
D語(yǔ)句deleteobj1.x;中,delete用于刪除對(duì)象obj1的屬性x。
15.【單選題】2分|有關(guān)var語(yǔ)句的錯(cuò)誤結(jié)論是()。
Avar聲明的變量有時(shí)可以通過(guò)delete刪除的。
B如果在頂層代碼中使用var語(yǔ)句,它聲明的是全局變量。
C如果var語(yǔ)句出現(xiàn)在函數(shù)體內(nèi),那么它定義的是一個(gè)局部變量
Dvar和function都是聲明語(yǔ)句,用于聲明或者定義變量或者函數(shù)。
16.【單選題】2分|有關(guān)JS變量說(shuō)法錯(cuò)誤的是()。
A循環(huán)語(yǔ)句中的變量不定是局部變量
B多次聲明同一個(gè)變量沒(méi)有問(wèn)題。
CJS變量一旦定義就無(wú)法再重新定義。
Dvar語(yǔ)句可用于聲明或者定義一個(gè)或者多個(gè)變量。
17.【單選題】2分|有關(guān)in運(yùn)算符錯(cuò)誤的結(jié)論是()。
Ain運(yùn)算符不可用于數(shù)組元素的遍歷。
Bin運(yùn)算符最主要和最典型的用途是:判斷對(duì)象是否存在指定名稱的屬性。
C如果in運(yùn)算符右側(cè)的對(duì)象擁有一個(gè)名為左操作數(shù)值的屬性名,那么表達(dá)式返回true;否則,返回false。
Din運(yùn)算符希望它的左操作數(shù)是一個(gè)字符串或可以轉(zhuǎn)換為字符串,希望它的右操作數(shù)是一個(gè)對(duì)象。
18.【單選題】2分|有關(guān)使用typeof運(yùn)算符的不正確結(jié)論是()。
Atypeof運(yùn)算符后面的參數(shù)可以使用括號(hào)引起來(lái),也可以不帶括號(hào)。
Btypeof運(yùn)算符只使用一個(gè)參數(shù)。
C使用typeof運(yùn)算符檢測(cè)的返回結(jié)果值總是一個(gè)小寫(xiě)字符串形式。
Dtypeof和instanceof有時(shí)可以相互代替。
19.【單選題】2分|使用instance運(yùn)算符時(shí)正確的結(jié)論是()。
A表達(dá)式“{}instanceofObject;”沒(méi)有任何問(wèn)題。
Binstance運(yùn)算符不包含對(duì)“父類”(或超類)的檢測(cè)。
C當(dāng)instanceof的左操作數(shù)不是對(duì)象的話,instanceof不一定返回false。
Dinstanceof的左操作數(shù)不可以是直接量形式;否則,JS系統(tǒng)認(rèn)為語(yǔ)句表達(dá)不完整。
20.【單選題】2分|給定x=6以及y=3,下列結(jié)論正確解釋了邏輯運(yùn)算符的是()。
Ax10y1為true
Bx==5||y==5為true
C!(x==y)為false
D!!x與x含義一樣
21.【單選題】2分|如下不正確的結(jié)論是()。
A關(guān)系表達(dá)式的運(yùn)算結(jié)果未必總是為true或fa1se
B假值是false、null、undefined、0、-0、NaN和"";所有其他的值(包括所有對(duì)象)都是真值。
C“”的操作數(shù)并不一定是布爾值。
D關(guān)系運(yùn)算符的優(yōu)先級(jí)比“”和“||”要高
22.【單選題】2分|已知“varobj={a:"Hello"};”,于是“objobj.a;”的結(jié)果是()。
A'Hello'
Bnull
Ctrue
Dfalse
23.【單選題】2分|有關(guān)各邏輯運(yùn)算符錯(cuò)誤的結(jié)論有()。
A?。與X含義是一樣的。
B!總是返回true或者false。
C如果||運(yùn)算符計(jì)算結(jié)果為假值,那么再計(jì)算右側(cè)的表達(dá)式,并返回這個(gè)表達(dá)式的計(jì)算結(jié)果。
D語(yǔ)句“if(a==b)stop();”與語(yǔ)句“(a==b)stop();”表達(dá)含義一致。
24.【單選題】2分|有關(guān)下列各邏輯運(yùn)算符的運(yùn)算關(guān)系錯(cuò)誤的是()。
Ax==oy==o與(x==o)(y==o)等價(jià)
B!(pq)===!p|!q;
C!(p||q)===!p!q;
D!(pq)===!p||!q;
25.【單選題】2分|有關(guān)各邏輯運(yùn)算符錯(cuò)誤的結(jié)論有()。
A當(dāng)“”右側(cè)的表達(dá)式具有某種副作用的時(shí)候要格外小心。因?yàn)檫@些帶有副作用的表達(dá)式的執(zhí)行依賴于左操作數(shù)的計(jì)算結(jié)果。
B實(shí)際開(kāi)發(fā)中,JS邏輯與運(yùn)算符“”不可能出現(xiàn)不會(huì)去計(jì)算右操作數(shù)的情形。
C實(shí)際開(kāi)發(fā)中,JS邏輯與運(yùn)算符“||”可能出現(xiàn)不會(huì)去計(jì)算右操作數(shù)的情形。
D實(shí)際開(kāi)發(fā)中,JS邏輯與運(yùn)算符“”可能出現(xiàn)不會(huì)去計(jì)算右操作數(shù)的情形。
26.【單選題】2分|已經(jīng)“vara=[1,2,3,4,5];”,那么錯(cuò)誤的是()。
A“1ina;”結(jié)果是true。
Bdelete用于刪除一個(gè)數(shù)組元素時(shí),數(shù)組長(zhǎng)度并沒(méi)有改變。
C可使用“deletea['2'];”刪除數(shù)組第三個(gè)元素。
D可以使用“deletea[2];”刪除數(shù)組第二個(gè)元素。
27.【單選題】2分|在Node命令行狀態(tài)下已知“varo={x:1,y:2};”。不正確的結(jié)論是()。
A“typeofo.x;”將返回"number"。
B“deleteo.x;”可以刪除對(duì)象o的屬性x,而且返回值是true。
C“deleteo;”可以刪除對(duì)象o。
D“deleteo.x;”將刪除一個(gè)對(duì)象屬性,返回true。
28.【單選題】2分|關(guān)于JS賦值操作符的結(jié)合性錯(cuò)誤的結(jié)論是()。
A賦值操作符的結(jié)合性是從左至右。
B“i=j=k="HelloPomelo!";”的含義是把三個(gè)變量都初始化為"HelloPomelo!"。
C賦值操作符的結(jié)合性是從右至左。
D賦值表達(dá)式的值就是右操作數(shù)的值。
29.【單選題】2分|正確的結(jié)論是()。
A"one"3結(jié)果為true。
B"111"3結(jié)果為true。
C"100"+200的結(jié)果是300。
D加號(hào)運(yùn)算符和比較運(yùn)算符的行為都有所不同。加號(hào)運(yùn)算符更偏愛(ài)字符串,而比較運(yùn)算符則更偏愛(ài)數(shù)字。
30.【多選題】2分|有關(guān)函數(shù)說(shuō)法正確的有()。
A直接調(diào)用Math.max時(shí)它并不接受數(shù)組。
B對(duì)于一些系統(tǒng)內(nèi)置對(duì)象,使用toString調(diào)用不會(huì)得到你想要的源碼。
Clength屬性返回函數(shù)中的形參個(gè)數(shù)。
Darguments屬性用于描述傳遞給一個(gè)函數(shù)的參數(shù)數(shù)組,是一個(gè)類數(shù)組對(duì)象。
31.【多選題】2分|下面正確的結(jié)論是()。
A"111""33"比較結(jié)果為true
B1=-Infinity結(jié)果為true
C已知"100"+200,200轉(zhuǎn)換為"200",結(jié)果是"100200"
D"100"+"200"結(jié)果是"100200"
32.【多選題】2分|關(guān)于JS函數(shù)的說(shuō)法錯(cuò)誤的有()。
Aarguments是函數(shù)參數(shù)相關(guān)的一個(gè)專用數(shù)組。
B已經(jīng)定義的函數(shù)可以使用重新定義。
C已經(jīng)定義的函數(shù)可以使用delete刪除。
D如果函數(shù)無(wú)明確的返回值,或調(diào)用了沒(méi)有參數(shù)的return語(yǔ)句,那么它真正返回的值是undefined。
33.【多選題】2分|有關(guān)對(duì)象操作語(yǔ)句說(shuō)法正確的是()。
A一個(gè)對(duì)象創(chuàng)建表達(dá)式不需要傳入任何參數(shù)給構(gòu)造函數(shù)的時(shí)候構(gòu)造函數(shù)后面的括號(hào)也不可省略。
Bwith語(yǔ)句可以用來(lái)臨時(shí)擴(kuò)展作用域鏈。
C與沒(méi)有使用with語(yǔ)句的代碼相比,with語(yǔ)句運(yùn)行效率低下。
D在嚴(yán)格模式下,禁止使用with語(yǔ)句。
34.【多選題】2分|有關(guān)this運(yùn)算符正確的結(jié)論有()。
A所有this到對(duì)象的綁定將發(fā)生在調(diào)用的時(shí)候,我們稱為“延遲綁定”。
Bapply和call能夠強(qiáng)制改變函數(shù)執(zhí)行時(shí)的當(dāng)前對(duì)象,讓this指向其他對(duì)象。
C由于JS的動(dòng)態(tài)性,this的指向在運(yùn)行時(shí)才確定。
Dthis運(yùn)算符總是指向當(dāng)前的對(duì)象
35.【多選題】2分|有關(guān)JS異常處理正確的結(jié)論有()。
Atry從句要求需要catch和finally至少二者之一與之共同完成異常處理任務(wù)。三個(gè)語(yǔ)句塊都必須使用花括號(hào)括起來(lái),不能省略花括號(hào)。
Bthrow語(yǔ)句不允許創(chuàng)建自定義錯(cuò)誤。
CJavaScript異常處理機(jī)制主要是通過(guò)try/catch/finally三子句聯(lián)合實(shí)現(xiàn)的。
D在JavaScript腳本中,異常的影響范圍為該代碼所在的線程,而其他不依賴于出現(xiàn)異常處的代碼的線程仍然可以正常運(yùn)行。
36.【多選題】2分|有關(guān)跳轉(zhuǎn)語(yǔ)句的說(shuō)法正確的有()。
A任何語(yǔ)句可以有很多個(gè)標(biāo)簽。
B跳轉(zhuǎn)語(yǔ)句中,只有break和continue可以和標(biāo)簽一起使用。
C標(biāo)簽的命名空間和變量或者函數(shù)的命名空間是不同的。
D標(biāo)簽聲明可以放在任何一個(gè)語(yǔ)句(或者語(yǔ)句塊)前面。
37.【多選題】2分|下面有關(guān)循環(huán)語(yǔ)句正確的結(jié)論是()。
Afor/in循環(huán)可以像枚舉對(duì)象屬性一樣枚舉數(shù)組索引。
Bfor...in語(yǔ)句是與for循環(huán)語(yǔ)句完全不同的一類循環(huán),它循環(huán)的范圍是一個(gè)對(duì)象所有的屬性或是一個(gè)數(shù)組的所有元素。
Cfor循環(huán)的循環(huán)變量未必是數(shù)字。
Dfor語(yǔ)句中的所有三部分(初始化部分、測(cè)試部分和更新部分)都是可選的。
38.【多選題】2分|下面有關(guān)循環(huán)語(yǔ)句正確的結(jié)論是()。
Ado-while循環(huán)是后測(cè)試循環(huán),在計(jì)算表達(dá)式之前,至少會(huì)執(zhí)行循環(huán)體一次。
BECMAScript規(guī)范并沒(méi)有指定for/in循環(huán)按照何種順序來(lái)枚舉對(duì)象屬性。
Cfor/in循環(huán)用于遍歷對(duì)象的所有屬性。
Dfor循環(huán)語(yǔ)句的初始化部分僅在循環(huán)開(kāi)始之前執(zhí)行一次。
39.【多選題】2分|下面有關(guān)條件及分支語(yǔ)句正確的結(jié)論是()。
Acase關(guān)鍵字后最常見(jiàn)跟隨的是數(shù)字和字符串直接量;但是,ECMAScript標(biāo)準(zhǔn)的確允許每個(gè)case關(guān)鍵字跟隨任意的表達(dá)式。
B當(dāng)所有分支條件都依賴于同一個(gè)表達(dá)式的值時(shí),if語(yǔ)句并不是最佳解決方案,switch正應(yīng)這種情況的需求而產(chǎn)生。
Celse中語(yǔ)句的執(zhí)行遵循“就近原則”,即匹配最近的那個(gè)if語(yǔ)句中的條件判斷。
Dif后面的條件必須使用括號(hào)包圍.
40.【判斷題】1分|Node命令行下只能用于單行JS代碼的運(yùn)行測(cè)試。
A對(duì)
B錯(cuò)
41.【判斷題】1分|Javascript中的CommonJS模塊規(guī)范和AMD規(guī)范都是針對(duì)javascript服務(wù)器端編程制訂的規(guī)范。
A對(duì)
B錯(cuò)
42.【判斷題】1分|JavaScript程序使用Unicode字符集編寫(xiě)。
A對(duì)
B錯(cuò)
43.【判斷題】1分|JavaScript允許標(biāo)識(shí)符中出現(xiàn)unicode字符全集中的字母和數(shù)字。
A對(duì)
B錯(cuò)
44.【判斷題】1分|JS字符串是原始類型,可以根據(jù)需要任意修改。
A對(duì)
B錯(cuò)
45.【判斷題】1分|任意JS值都可以轉(zhuǎn)換為布爾值
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)書(shū)法四級(jí)考試題目及答案
- 叉車(chē)安全總監(jiān)考試題及答案解析
- 采礦學(xué)期末考試題及答案
- 編程四級(jí)考試題庫(kù)及答案
- 保育員中職考試題目及答案
- 直播帶貨公司質(zhì)檢設(shè)備校準(zhǔn)制度?
- 2025屆山東省濱州市博興縣第一中學(xué)高一下化學(xué)期末質(zhì)量檢測(cè)試題含解析
- 2025年航空貨運(yùn)市場(chǎng)競(jìng)爭(zhēng)格局變化趨勢(shì)與發(fā)展策略分析報(bào)告
- 小學(xué)吟誦教學(xué)課件
- 2025年高校創(chuàng)新創(chuàng)業(yè)教育課程體系改革與創(chuàng)新創(chuàng)業(yè)教育課程教學(xué)效果評(píng)價(jià)研究報(bào)告
- 妊娠期用藥安全課件
- 右膝關(guān)節(jié)置換術(shù)護(hù)理個(gè)案
- 非甾體抗炎藥圍術(shù)期鎮(zhèn)痛專家共識(shí)(2024 版)解讀
- 肺動(dòng)脈高壓診斷與治療
- GB/T 44828-2024葡萄糖氧化酶活性檢測(cè)方法
- 焦點(diǎn)解決短期心理治療
- 肥料、農(nóng)藥采購(gòu)服務(wù)方案投標(biāo)文件(技術(shù)標(biāo))
- 《中國(guó)哲學(xué)史》大學(xué)題集
- 五年級(jí)下冊(cè)美術(shù)書(shū)教育課件
- 財(cái)產(chǎn)贈(zèng)與公證協(xié)議書(shū)模板
- 項(xiàng)目聯(lián)合體協(xié)議書(shū)范本
評(píng)論
0/150
提交評(píng)論