牛客网错题集

1、avaScript定义var a="40",var b=7,则执行a%b会得到()。

a,5           b,"5"         c,undefined          d,null

解析:运算中,+号,数字隐式转换成字符串。其余的运算符号是字符串隐式转换成数字。

答案:a

2、下面哪一种不属于 js 的六种基本数据类型?()

undefined
string
null
Object

解析: 5 中简单数据类型(也称为基本数据类型): Undefined、Null、Boolean、Number 和 string。还有一种复杂数据类型——Object。

答案:object

3、

牛客网错题集_第1张图片

first,second,first,second..依次顺序输出
首先全部输出first,然后全部输出second
first,second无顺序输出
首先输出first,超出5ms输出所有second,最后输出余下的first

解析:首先js 是运行于单线程环境中,定时器作用是在规定时间内将事件加入执行队列,而加入的前提是当前事件队列没有任何东西

答案:B

4、公司内部为100Mbps的企业网,办公室计算机从网络中心下载25M的文件,在没有流量控制与无干扰的情况下,大概需要的时间为(      )

A、0.5秒
B、1秒
C、2秒
D、4秒

解析:100 Mbps 是按 bit 传输的,所以需要转化为 byte 的传输速度,需要除以 8,即下载速度是 12.5Mb/s,所以需要 2 秒

 

下列哪些会返回false?

牛客网错题集_第2张图片

 

 

以下哪些表达式的值为0?

(()=>{}).length
1 & 2
+[]
[1,2,-3].reduce((a, b) => a - b, 0)
  1. (()=>{}).length; 获取方法形参个数,形参为0
  2. 1=0001 2=0010  按位与运算,同为1才为1,否则返回0
  3. +[] 隐式类型转换,因为[]是对象,所以toPrimitive->valueOf->toString为'',结果就是+''===0
  4. reduce对数组中的每个元素执行一个reducer函数(升序执行),将其结果汇总为单个返回值。a为累计器累计回调的返回值,b为数组的每一项元素,传入初始值0->0-(1)->(-1)-2->(-3)-(-3)->0

 

  • mobile – xs ( <768px )
  • tablet – sm ( 768~991px )
  • desktop – md ( 992~1170px )
  • large desktop – lg ( >1170px )

 

标签没有闭合,应该是

1

console.log(1"2"+"2");

做加法时要注意双引号,当使用双引号时,JavaScript认为是字符串,字符串相加等于字符串合并。
因此,这里相当于字符串的合并,即为122.

1

console.log(1+ +"2"+"2");

第一个+"2"中的加号是一元加操作符,+"2"会变成数值2,因此1+ +"2"相当于1+2=3.
然后和后面的字符串“2”相合并,变成了字符串"32".

1

console.log("A""B"+"2");

"A"-"B"的运算中,需要先把"A"和"B"用Number函数转换为数值,其结果为NaN,在剪发操作中,如果有一个是NaN,则结果是NaN,因此"A"-"B"结果为NaN。
然后和"2"进行字符串合并,变成了NaN2.

1

console.log("A""B"+2);

根据上题所述,"A"-"B"结果为NaN,然后和数值2进行加法操作,在加法操作中,如果有一个操作数是NaN,则结果为NaN。

 

如果设置 position: static ; 则上边距为1 px

如果设置 position: relative ; 则上边距为2 px

如果设置 position: absolute ; 则上边距为3 px

如果设置 position: sticky ; 则滚动起来上边距为4 px

 

position: static ; 则上边距为(  20 ) px  静态定位 top值无效

position: relative ; 则上边距为(  30 ) px 移动的时候会包括margin
position: absolute ; 则上边距为(  30 ) px 移动的时候会包括margin
position: fixed ; 则上边距为(  30 ) px  固定定位的margin也会生效  移动的时候也会包括margin
position: sticky ; 则上边距为(  20 ) px,页面滚动起来为(10)px,margin会无效;页面没滚动的 时候是静态定位

 

牛客网错题集_第3张图片

 

 

牛客网错题集_第4张图片

 

牛客网错题集_第5张图片

js里面没有函数重载的概念,在其他语言中(如java)java中,可以存在同名函数,

只要传入的参数数量或者类型不同即可。在js中,定义了两个同名函数后,

后面的函数会覆盖前面定义的函数。结合这道题来说,由于函数声明提升,

所以函数声明会提前,由于存在同名函数,后面的add函数将覆盖第一个add函数,

所以两次调用add()返回的值是相同的。也就是y,z都为4.

function add(){}定义的函数会优先解析,而不是顺序解析;因此整个过程中,首先依次解析两个add function,由于同名,所以后者会覆盖前者;然后,顺序解析其余的JS代码,y = add(m);语句和z = add(m); 语句调用的都是第二个add function,因此返回的都是4.

定义函数的三种方式有:function函数、Function()构造函数、对象字面量。

 

牛客网错题集_第6张图片

JavaScript 中包含以下 7 个全局函数,用于完成一些常用的功能(以后的章节中可能会用到):

escape( )、eval_r( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。

 

Ajax技术核心就是XMLHttpRequest对象。

Ajax技术的工作原理:可以分成3步

1.创建Ajax对象:var xhr = new XMLHttpRequest();

2.xhr 发送请求:xhr.open('get','test.html','true');

                          xhr.send();

3.xhr获取响应:

                          xhr.onreadystatechange = function(){

                                   if(xhr.readystate == 4){//请求的状态码

                                                       /*

                                                                   0:请求还没有建立(open执行前)

                                                                   1:请求建立了还没发送(执行了open)

                                                                    2:请求正式发送(执行了send)

                                                                   3:请求已受理,有部分数据可以用,但还没有处理完成

                                                                 4:请求完全处理完成

                                                           */

                                         alert(xhr.responseText);//返回的数据

                                     }

                             }

可以看到,send()前是open()

 

说一说常见的请求头和相应头都有什么呢?

1)请求(客户端->服务端[request]) 
    GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号) 
    Accept: */*(客户端能接收的资源类型) 
    Accept-Language: en-us(客户端接收的语言类型) 
    Connection: Keep-Alive(维护客户端和服务端的连接关系) 
    Host: localhost:8080(连接的目标主机和端口号) 
    Referer: http://localhost/links.asp(告诉服务器我来自于哪里) 
    User-Agent: Mozilla/4.0(客户端版本号的名字) 
    Accept-Encoding: gzip, deflate(客户端能接收的压缩数据的类型) 
    If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(缓存时间)  
    Cookie(客户端暂存服务端的信息) 

    Date: Tue, 11 Jul 2000 18:23:51 GMT(客户端请求服务端的时间)

 

2)响应(服务端->客户端[response])
    HTTP/1.1(响应采用的协议和版本号) 200(状态码) OK(描述信息)
    Location: http://www.baidu.com(服务端需要客户端访问的页面路径) 
    Server:apache tomcat(服务端的Web服务端名)
    Content-Encoding: gzip(服务端能够发送压缩编码类型) 
    Content-Length: 80(服务端发送的压缩数据的长度) 
    Content-Language: zh-cn(服务端发送的语言类型) 
    Content-Type: text/html; charset=GB2312(服务端发送的类型及采用的编码方式)
    Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT(服务端对该资源最后修改的时间)
    Refresh: 1;url=http://www.it315.org(服务端要求客户端1秒钟后,刷新,然后访问指定的页面路径)
    Content-Disposition: attachment; filename=aaa.zip(服务端要求客户端以下载文件的方式打开该文件)
    Transfer-Encoding: chunked(分块传递数据到客户端)  
    Set-Cookie:SS=Q0=5Lb_nQ; path=/search(服务端发送到客户端的暂存数据)
    Expires: -1//3种(服务端禁止客户端缓存页面数据)
    Cache-Control: no-cache(服务端禁止客户端缓存页面数据)  
    Pragma: no-cache(服务端禁止客户端缓存页面数据)   
    Connection: close(1.0)/(1.1)Keep-Alive(维护客户端和服务端的连接关系)  

    Date: Tue, 11 Jul 2000 18:23:51 GMT(服务端响应客户端的时间)

 

 

 

 

 

 

你可能感兴趣的:(程序人生)