牛客网错题集(1)

第1题

1.下面哪几个和http://store.company.com/dir/page.html符合同源策略?( )
A.http://store.company.com/dir2/other.htm
B.https://store.company.com/dir/secure.html
C.http://store.company.com:81/dir/etc.html
D.http://news.company.com/dir/other.html
答案:A
解析:同源策略:协议、域名、端口号一致
在这里插入图片描述

第2题

2.关于DOMContentLoaded和load事件说法正确的是?()
A.DOMContentLoaded事件比load事件更早执行
B.load事件比DOMContentLoaded事件更早执行
C.按监听代码从上到下先后执行
D.dom文档完全加载完后执行load事件
答案:A
解析:
(1)DOMContentLoaded
  当纯HTML被完全加载以及解析时,DOMContentLoaded事件会被触发,而不必等待样式表,图片或者子框架完成加载。
(2)Load
  页面上所有的资源(图片,音频,视频等)被加载以后才会触发load事件。

第3题

3.[1 < 2 < 3, 3 < 2 < 1] ( )
A.[true, true]
B.[true, false]
C.[false, true]
D.[false, false]
答案:A
解析:
true为1,false为0
[1 < 2 < 3, 3 < 2 < 1]
[true < 3, false < 1]
[1 < 3, 0 < 1]
[true, true]

第4题

let a = { c:1 }
let b = a
a = 1
b.c = 2
a.c = (?) 

A.1
B.2
C.undefined
D.NaN
答案:C
解析:
let a = { c:1 } //a的作用域指向 {c:1} 这个地址
let b = a //b的作用域指向 {c:1} 这个地址
a = 1 // a指向的作用域发生改变,指向1,但是{c:1} 这个地址还存在
b.c = 2 //改变{c:1} 这个地址中c的值为2
a.c = (?) //a指向的地址已经发生改变,没有c这个变量,所以返回undefined

第5题

5.Math.abs(-6.666) 的结果是多少?
A.-6.666
B.6
C.-6
D.6.666
答案:D
解析:
(1)丢弃小数部分,保留整数部分
  js:parseInt(x)
(2)向上取整,有小数就整数部分加1
  js: Math.ceil(x)
(3)四舍五入.
  js: Math.round(x)
(4)向下取整
  js: Math.floor(x)

拓展补充:
Math.abs(x) 返回x的绝对值
Math.pow(x, power) 返回x的power次幂
Math.pow(…nums) 返回nums中每个数平方和的平方根
Math.sign(x) 返回表示x符号的1、0、-0或-1
Math.trunc(x) 返回x的整数部分,删除所有小数
Math.sqrt(x) 返回x的平方根
Math.cbrt(x) 返回x的立方根
Math.acos(x) 返回x的反余弦
Math.asin(x) 返回x的反正弦
Math.atan(x) 返回x的反正切
Math.cos(x) 返回x的余弦
Math.sin(x) 返回x的正弦
Math.tan(x) 返回x的正切

第6题

function setname(name){
 this.name = name
}
setname.prototype.printName = function(){ console.log(this.name) }
let a = new setname("cc")
a.name = "dd"
a.__proto__.name = "ee"

a.__proto__.printName()  // ?
a.printName() // ?

A.ee dd
B.cc dd
C.ee cc
D.ee Error
答案:A
解析:
隐式的this绑定。this指向调用对象。简单来说就是看getName()前的. 。.前面的对象就是this指向的方向。
a.__proto__.printName() -> this指向a.proto
a.printName() -> this指向a

第7题

7.关于浮动元素,下面说法错误的是()
A.如果有非浮动元素和浮动元素同时存在,并且非浮动元素在前,则浮动元素不会高于非浮动元素。
B.行内元素与浮动元素发生重叠,其边框,背景和内容都会显示在浮动元素之下。
C.浮动元素会尽可能地向顶端对齐、向左或向右对齐。
D.如果有多个浮动元素,浮动元素会按顺序排下来而不会发生重叠的现象。
答案:B
解析:行内元素和浮动元素发生重叠,边框、背景会显示在浮动元素之下,内容会显示在浮动元素之上 。

第8题

8.http 状态码描述正确的是()
A.301 永久性重定向
B.302 浏览器端缓存的资源依然有效
C.304 暂时性重定向
D.400 浏览器端缓存的资源依然有效
答案:A
解析:
302 Found(已找到)临时重定向
304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存
400 Bad Request 请求参数错误

第9题

  1. 下题的结果正确的是?()
var one   = 0.1
 var two   = 0.2
var six   = 0.6
var eight = 0.8
[two - one == one, eight - six == two]  

A.[true, true]
B.[false, false]
C.[true, false]
D.other
答案:C
解析:
JS不能很精确地表示小数。当两个浮点数相加或者相减,将有可能会导致精度丢失问题。
JS中的小数采用的是双精度(64位)表示的,由三部分组成:符 + 阶码 + 尾数,在十进制中的 1/10,在十进制中可以简单写为 0.1 ,但在二进制中,他得写成:0.0001100110011001100110011001100110011001100110011001……(后面全是 1001 循环)。因为浮点数只有52位有效数字,从第53位开始,就舍入了。这样就造成了“浮点数精度损失”问题。
通过上面分析,我们知道JS利用二进制存储的,所有的小数都可以用a0(1/2)+a1*(1/4)+a2*(1/8)+…表示,这里(a0,a1,a2…只能取值0或者1),根据这个表达式我们发现0.1,0.2,0.6和0.8都是无限循环小数,但是0.2-0.1=0.1的原因是0.2是0.1的2倍,二进制乘2或者除2,左移或又移一位就行,所以0.2-0.1=0.1,但是0.8不是0.6的倍数,所以0.8-0.6!=0.2。
原文链接:https://blog.csdn.net/weixin_43465339/article/details/108182482

第10题

  1. 下题的结果正确的是?
    1 + - + + + - + 1
    A.1
    B.2
    C.error
    D.other
    答案:B
    解析:以上等价于:1 + 0-0 +0 +0 + 0- 0+ 1。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值