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