A. 前端面試題,求大佬給個結果
第一題 true false false true
第二題 true 報錯 false false true false
之前是為了趕著回答,所以隨便答了,後來檢查,發現也是對的了。後面說說分析:
第一個問題:
先分析最簡單的頁面代碼function A(){};和function B(){};只是普通的函數A和B。
然後就是A的原型。
a是普通的構造函數。
先給你科普一下基礎,我們創建的每個函數都有一個prototype(原型)屬性,這個屬性是一個指針,指向一個對象。這裡面的關鍵字是指針!而原型屬性的作用是,讓對象A包含一些共享的屬性和方法,而這里就是共享了方法,A原型裡面的fun。
PS:有時候,面試官還會把a = new A()放在,A.prototype前面,這樣就會導致原型指針混亂的問題,但是你這個問題,相對簡單,沒有這種情況,所以這里我也不說明了。
然後分析,問題的答案:
1、必定是true,因為每個構造函數都有一個constructor屬性,且指向A。但是如果在原型對象裡面自己去設置constructor屬性,這樣就會導致,指向Object對象,且屬性變為可枚舉的,如果你理解了這里,第二個問題就簡單了。
2、false。上面已經提過了,如果在A的原型裡面設置constructor,指向的對象肯定是Object,不信的話,你可以試試console.log(A.prototye.constructor === Object),這樣一定是true。
3、就是對hasOwnProperty的理解。hasOwnProperty是檢測a對象是否含有'constructor'這個屬性,他檢測的不是原型,而原型僅僅是一個指針,所以是false。
4、沒啥好說的,很簡單,就是true。
第二個問題
先對題目進行分析,new B()產生一個構造函數 而A的原型指向該構造函數
然後,var b = new A(); b和上面的a差不多 只不過A有點改變。
然後分析,答案:
1、在這里我必須說明一下A.prototye ={ } //無論對象裡面是什麼或者做了什麼事,他一定有一個constructor屬性,如果你不主動設置,他一定指向自己,也就是A,不信你自己實驗,所以一定是true。
2、我實在沒有發現代碼中,有類似B.prototype的語句,但是B下面還是有原型屬性B.prototype,只是這個屬性沒有被創建而已。為了確保正確,我查了查,constructor的概念,原來constructor的作用是返回對創建此對象的數組函數的引用。這里涉及了一個關鍵字,就是創建,所以我肯定這個問題的答案是報錯的了。因為這個原型是存在的,但沒被創建。而且constructor的概念,提及了一個重要的概念,引用,我不做說明了,自己網路。
3、其實這里只是繞了一個圈,等你繞過來的時候,他就是問A.prototye = new B();這里的問題了,這時候明顯指向了B,不信,可以把A改為B 一定是true。而這個問題的答案是false。
4、不要被指針影響了,hasOwnProperty檢測的不是原型指針,所以一定是false。
5、沒什麼好說的,明顯為true
6、還是那句原型只是一個指針,b不可能是B的實例,只是A的原型指向了B
綜合,本問題,主要考察的是對原型指針的理解,還有對constructor的認識。
B. true false 分別是什麼意思
true代表真,false代表假,多在判斷中使用。
false:
英 [fɔ:ls]美 [fɔls]
adj.虛偽的;不正的,非法的;假造的,摹造的;臨時的
adv.欺詐地;叛賣地
雙語例句:
1.I was wearingfalseeyelashes and a sweater two sizes too small.
我戴著假睫毛,穿著小了兩號的毛衣。
2.Look at thefalsepolice reports that omitted or misstated crucial facts.
看看這份失實的警方報告吧,它忽略或歪曲了關鍵的事實。
3.In the early seventies I worefalseeyelashes, as was the fashion.
70年代初我戴假睫毛,這在當時是時尚。
true:
英 [tru:]美 [tru]
adj.真正的;真實的;忠實的;正確的
adv.真正地;確實地;正確地;正當地
n.真理,真實;正,准,精確
vt.擺正;決定(某物)的位置以使其平衡、平穩或水平
1.As a player he was unselfish, atrueteam man.
作為一名選手,他毫無私念,真正把自己擺在團隊中。
2.But as with other charitable bodies, these figures mask thetruepicture.
但和其他慈善機構一樣,這些數字掩蓋了實情。
3.Too much salt masks thetrueflavour of the food.
太多的鹽會蓋住食物本來的味道。
C. true和false是什麼意思
true代表真,false代表假,多在判斷中使用。
D. js怎麼判斷ture和false
js的弱類型讓人感覺很多東西都比較迷惑,例如變數在if條件中到底是true還是false,如果在強類型語言中將一個非boolean類型的變數放在if條件中時,是需要進行類型轉換的,但是js不需要,下面來進行測試,測試常見的變數類型在if條件中的表現
!function test1(){
<span style="color:#ff0000;">var a,b=-1,c= 1,d= 0,e=null,f=undefined,g='',h="";</span>
if(!a){
console.log('a='+a)
}
if(!b){
console.log("b="+b)
}
if(!c){
console.log("c="+c)
}
if(!d){
console.log("d="+d)
}
if(!e){
console.log("e="+e)
}
if(!f){
console.log("f="+f)
}
if(!g){
console.log("g="+g)
}
if(!h){
console.log("h="+h)
}
}()
設定了各種變數類型,分別放入if條件中
執行結果
a=undefined
d=0
e=null
f=undefined
g=
h=
i=false
js中的if()判斷成立與否的條件是不是只有true跟false
if(){
語句
}
當括弧裡面的值為0 空字元 false null undefined 的時候就相當於false 則不執行語句 除此之外的值就執行語句
javascript中 if(變數)與if(變數=true)的不同
var a;//定義一個變數沒有初始化if(a){alert(1)
return};//這里不會執行,因為a沒有值,所以為false;a=0//這里給a賦值為0if(a){alert(1)
return};//在來執行這句話,因為a=0;0代表false,所以還是不執行;a=1或者a=「123」;if(a){alert(1)
return};//這里a=除0以為的數,或者字元或者obj都表示為真,這里的alert就會執行! 在來看第二種情況;
var
b;if(b=="")和if(b==null)這里誰會執行呢,當然是後面一種,因為b是沒有定義值的,如果是var
b="",這樣的話就會執行第一種;b =
1;if(b==1)和if(b=="1")這里哪一種會執行呢,答案是兩種都會執行!因為js的==表示的是數值相等;謝謝,希望樓主可以理解!
還有就是樓主的這種情況:
var
c;c=0;if(c==false)會不會執行呢,答案是肯定的;c=1;if(c==true)也一樣會執行!但是我們看下面這樣會執行么?c=2或
者c="admin"if(c==true)alert(1)這句話會執行么,答案是否定的,因為默認表示的是,0為false而1為true,對於其他
的就沒有這么定義,所以這里不會執行,當然如果你是這樣if(c)那這里就會執行了!
E. true false 分別是什麼意思
一、false的意思
釋義:adj.錯誤的;不正確的;不真實的;非天生的;人造的;假的;偽造的。
例證:
二、true的意思
1、adj.符合事實的;確實的;如實的;實質的,真正的(而非表面上的);名副其實的;真正的。
例證:All the rumours turned out to be true. 所有的傳聞結果都確有其事。
2、adv.筆直地;不偏不斜地;直言相告;實話實說。
例證:The arrow flew straight and true to the target. 箭不偏不斜地朝靶子飛去。
3、n.真實;准確。
例證:His excuse just doesn't ring true . 他的借口聽起來就不真實。
(5)前端true和false擴展閱讀:
true的近義詞:
1、right 對的。
例證:I got about half the answers right. 我的回答約有一半是正確的。
2、correct 指准確無誤的、正確的:
例證:Only one of the answers is correct. 這些答案中只有一個是正確的。
3、exact 指精確的、准確的:
例證:She gave an exact description of the attacker. 她對襲擊者的特徵作了精確的描述。
F. js中關於true與false的問題
第一個是滑鼠按下時觸發事件,在這三個事件中第一個觸發,此時結果是false,然後第二個是滑鼠抬起觸發事件,第二觸發,此時結果是true,最後一個單擊事件,最後一個觸發,此時結果改變為false
G. 前端中哪些值是false
它主要是你擬定的值進行判斷,有的值可以賦予真,也可以賦予假,比如說
x=3,y=5
如果條件是x<y,則是true,反之為false
布爾型數據類型他的值也只有2個,一個是true,一個是false
H. true和false哪個是啟用哪個是禁用。(如圖)
你好,根據你提供的圖片,true和false中true是啟用,false是禁用。(如圖)一個是對的意思,一個是錯的意思。
I. true 和false的區別
1.FALSE/TRUE與false/true的區別: false/true是標准C++語言里新增的關鍵字,而FALSE/TRUE是通過#define,這要用途 是解決程序在C與C++中環境的差異,以下是FALSE/TRUE在windef.h的定義: #ifndef FALSE #define FALSE 0 #endif #ifndef
J. 在js中,為什麼!0是true,!!0是false,!1是false,!!1是true,!-1是false,!!-1是true
true 和false 和負數比較, 會把 true 隱式轉換為1 ,false隱身轉換為0。
因為JS規定 :非0的數字是true !,-1 相當於 ! true 肯定是false 。
所以0是true,!!0是false,!1是false,!!1是true,!-1是false,!!-1是true。
Javascript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。Javascript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。
(10)前端true和false擴展閱讀:
JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的
解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言。最早是HTML(標
准通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
參考資料:網路-js