大华试题总结

1、以下js 表达式返回false 的是  C E

A 1==true

B “”==false

C false==null

D null==undefined

E NaN==NaN

F typeof NaN==="number"

解析:考察js中的隐式转换,js中==运算会自动进行类型转换。null,undefined,"".

有一个规则:布尔值true 和false 在==运算中会被转化为数值1和0 再进行比较。B中“”空字符串转化为数字为0,所以为true 。

typeof NaN  其中typeof 操作符返回字符串,且为“number”。所以F为true

选C、E

2、关于const说法错误的是    C

A  用于声明变量,声明后不可修改

B 不会发生变量提升

C可以先声明后赋值

D 同一作用域下不可以重复声明同一个变量

解析:const声明的变量只可以在声明时赋值,不可随意修改,否则会导致SyntaxError(语法错误)。声明后修改报错

console.log(a)
const a=1;

报错,a未初始化

 

B正确

C中,先声明后赋值,报错,const申明的变量必须在声明时候就赋值。

 const a=1;
  var a=2;

 

3、CSS3伪类的考察:

CSS3中的伪类如下:

新增伪类作用
p:first-of-type选择属于其父元素的首个<p>元素的每个<p>元素。
p:last-of-type选择属于其父元素的最后<p>元素的每个<p>元素。
p:only-of-type选择属于其父元素唯一的<p>元素的每个<p>元素。
p:only-child选择属于其父元素唯一的子元素的每个<p>元素。
p:nth-child(n)选择属于其父元素的第n个子元素的每个<p>元素。
p:nth-last-child(n)选择属于其父元素的倒数第n个子元素的每个<p>元素。
p:nth-of-type(n)选择属于其父元素第n个<p>元素的每个<p>元素。
p:nth-last-of-type(n) 选择属于其父元素倒数第n个<p>元素的每个<p>元素。
p:last-child选择属于其父元素最后一个子元素的每个<p>元素。
p:empty选择没有子元素的每个<p>元素(包括文本节点)。
p:target 选择当前活动的<p>元素。
:not(p)选择非<p>元素的每个元素。
:enabled控制表单控件的可用状态。
:disabled 控制表单控件的禁用状态。
:checked 单选框或复选框被选中。

4、 var[a,b,c]=[1,2]结果中a,b,c,的值分别是1,2,undefined。考察变量解构赋值。

5、typeof [] 结果为object而不是array

使用typeof检测数据类型,首先,返回的是一个字符串。其次这个字符串包含了对应的类型,“number”、“string”、“boolean”、“undefined”、“function”、“object”共6类

6、以下代码输出结果为

var a=10;
var ary =new Array();
var tmp=new Date();
function f(){
console.log(ary);
console.log(tmp);
console.log(a);
if(false){
var tmp="hello world";
}
}f();

解析:考察作用域:

函数执行,形成私有作用域,函数内部可以访问函数外部(全局环境)的变量,所以a=10;ary =[];

tmp在私有作用域内,尽管if(false)不成立,但是var tmp仍然会变量提升,但是在console.log(tmp)时候还没赋值,所以tmp为undefined

7、以下程序输出结果为

var foo="global";
var test={
foo:"inner",
get:function(){
var self=this;
console.log(this.foo);
console.log(self.foo);
(function(){
console.log(this.foo);
console.log(self.foo);
})();
}
};
test.get();

 解析:前两个是局部变量,分别在函数内部取到foo 的值为inner。第三个是自执行函数,其this指向window,所以在window下找的全局变量,指的是global,第四个是因为get中把this存在了self变量里面,所以第四个指的是inner

8、某二叉树的中序遍历结点访问顺序是EDFBAGC,后序遍历的结点访问顺序是EFDBCGA.则其前序遍历的结点访问顺序是  B

A  ADBEFCG

B  ABDEFGC

解析:前序遍历的规则是:根结点→左子结点→右子结点

          中序遍历是:左子结点→根结点→右子结点
          后序遍历是:左子结点→右子结点→根结点

后序遍历中最后一个结点是A,所以确定A为根节点,前序遍历第一个肯定是根节点。所以第一个为A。

中序:以A(根结点)为中点,左边是EDFB,右边是GC

对于左子树,EDFB来说,后序遍历的左子树为EFDB,可以确定这个左子树的根节点为B。左子结点为EDF,后序遍历为EFD,所以D为根节点,E为左子结点,F为右子节点。

对于右子树,中序遍历是GC,后序遍历为CG.所以根节点为G,C为G的右子结点。

所以前序遍历为:ABDEFGC

9 下面哪种方法属于不稳定排序? B

A 冒泡排序

B 选择排序

C 插入排序

D 归并排序

解析:稳定的
冒泡排序(bubble sort) — O(n2)   

插入排序 (insertion sort)— O(n2)   

桶排序 (bucket sort)— O(n); 需要 O(k) 额外 记忆体   

计数排序 (counting sort) — O(n+k); 需要 O(n+k) 额外 记忆体   

归并排序 (merge sort)— O(n log n); 需要 O(n) 额外记忆体   

原地归并排序 — O(n2)   

二叉树排序 (Binary tree sort) — O(n log n); 需要 O(n) 额外记忆体   

不稳定
选择排序 (selection sort)— O(n2)   

希尔排序 (shell sort)— O(n log n)  

堆排序 (heapsort)— O(n log n)

快速排序 (quicksort)— O(n log n) 期望时间, O(n2) 最坏情况; 对於大的、乱数串列一般相信是最快的已知排序  

10 在请求分页系统中,LRU算法是指:LRU是操作系统页面调度算法中最近最久没有使用调度算法的缩写。也就是在最近最长时间没有被使用的页面将首先被淘汰,调度出内存。

11 、编程题

给定一个长度为n的不下降数组,判断是否存在两个不同元素和为m,输出true 和false

测试用例:输入两个正整数n,m。然后输入n个元素表示长度为n 的数组

input 10 10

0 1 2 3 4 5 6 7 8 9

output true

input 10 19

0 1 2 3 4 5 6 7 8 9  (加起来没有19)

output false

编程如下:

function solution(ary,result){
    for(var i=0;i<ary.length;i++){
      for(var j=ary.length-1;j>i;j--){
        console.log(ary[i],ary[j])
        var sum=parseInt(ary[i])+parseInt(ary[j]);
        console.log(sum);
        if(sum===result) {
          return true
        }
      }
    }
    return false
  }

12、js如何捕获异常

try catch

13、如何自定义http请求头

规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。

Jqeury-ajax应该使用XMLHttpRequest对象的“setRequestHeader”方法setRequestHeader(name, value)可以设置请求头的content-type 数据段在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息,解决跨域的一种方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值