大应实习前端笔试2023

【选择题】8

【问答题】1

【编程题】2

【选择题】

1.下面哪些选项属于JavaScript宏任务?(CD)

A.promise

B.async/await

C.主代码块

D.setTimeOut

宏任务:浏览器发起的任务

微任务:js引擎自己发起的任务

1、js宏任务有:

2.下面关于Javascript中箭头函数描述正确的是(CD)

A.可以使用函数内置的arguments对象获取函数

B.可以使用yield指令

C.在使用=>定义函数的时候,继承当前上下文this关键字

D.不能够使用构造方法(不能使用new命令,否则会抛出错误)

关于箭头函数:

1.不可以当做构造函数使用,因为没用自己的this,arguments等

2.不可以使用yield指令

3.不绑定this:没有自己的this对象,内部的this就是定义时上层作用域中的this对象(箭头函数内部的this是固定的,普通函数的是可变的)

3.Javascript有哪些基本数据类型?(ABC)

A.Boolean

B.Null

C.Object

D.Function

1、String

2、Number

3、Boolean

4、Null

5、Undefined

4.JavaScript中,DOM事件监听器注册到父元素,子元素点击后,点击事件会被触发父元素的事件监听回调吗?(A)

A.会

B.不会

冒泡

5.JavaScript调用数组哪些方法,不会修改数组?(ABD)

A.map

B.forEach

C.sort

D.concat

A.arr.map((item)=>{ return xx})返回创建的一个新数组

B.arr.forEach((item)=>{这里不做改变就不会修改数组})没有返回值意义

C.排序,会修改

D.合并数组,返回两个数组合并后的副本,不会改变两个原数组

6.下面情况下js可能出现内存泄漏情况(AB)

A.定时器未清除

B.DOM清空时,还存在引用

C.使用箭头函数

D.频繁操作DOM

1.意外的全局变量

2.定时器未清除

3.没有清理对DOM元素的引用

7.【单选】下面哪种方式可以直接获取到一个div的dom节点?©

A.document.getElementByClass(“two”)

B.document.getByTagName(“three”)

C.document.getElementById(“one”)

通过ID获取(getElementById)
通过name属性(getElementsByName)
通过标签名(getElementsByTagName)
通过类名(getElementsByClassName)
通过选择器获取一个元素(querySelector)
通过选择器获取一组元素(querySelectorAll)
获取html的方法(document.documentElement)
获取body的方法(document.body)

8.下面哪些属于JavaScript严格模式的限制?(ACD)

A.不能使用未声明的变量

B.给NaN赋值会抛出异常

C.函数的参数名必须唯一

D.进制自定义函数的this指向window

1.禁止不标准的全局变量(未使用var)
2.禁止使用with语句
3.禁止使用eval
4.禁止this关键字指向全局对象
5.禁止在函数内部遍历调用栈
6.禁止删除变量
7.对象不能有重命名属性
8.函数不能有重命名参数
9.禁止八进制表示法
10.不能对arguments赋值
11.arguments不再追踪参数的变化
12.禁止使用arguments.callee
13.严格模式只允许在全局作用域或函数作用域的顶层声明函数。也就是说,不允许在非函数的代码块内声明函数。

14.不能使用某些保留字:implements, interface, let, package, private, protected, public, static, yield。

【问答题】

this指向

var num =222;
var a={
    
    
    num:111,
	say: function () {
    
    
	console.log(this.num)
    }
}
var fn= a.say 
fn()//输出一
a.say()//输出二

var b={
    
    
	num:333,
	say:function (fn) {
    
    
	fn()
    }
}
b.say(a.say)//输出三
b.say = a.say
b.say()//输出四

222
111
222
333

this动态指向当前函数的运行环境。即,在不同场景中调用定义的同一个函数,this的指向也不同。

this永远指向其所在函数的真实调用者,如果没有,则指向全局对象window

【编程题】

1.打印 :image-20230413222512959

每一行最后都没有多余的空格,最后一行没有空格和换行。

public class Solution {
    
    
    // 请按你的实际需求修改参数
    public static char[] F(int height) {
    
    
        char []a=new char[height*(2*height-1)];
        for (int row=0;row<height;row++){
    
    
            for(int i=0;i<height-row-1;i++){
    
    
                a[row*(2*height-1)+i]=' ';
                a[row*(2*height-1)+2*height-2-i]=' ';
            }
            for(int i=height-row-1;i<height+row;i++){
    
    
                a[row*(2*height-1)+i]='*';
            }
            if(row!=height-1){
    
    
                a[row*(2*height-1)+2*height-2]='\n';
            }
        }
        return a;
    }
}

2.括号匹配:只有”()“

public class Solution {
    
    
    // 请按你的实际需求修改参数
    public static boolean validParentheses(String parens) {
    
    
        // 在这⾥写代码
        int k=0;
        for(int i=0;i<parens.length();i++){
    
    
            if(parens.charAt(i)=='('){
    
    
                k++;
            }
            if(parens.charAt(i)==')'){
    
    

                if(k!=0)
                    k--;
                else
                    return false;
            }
        }
        if(k!=0)
            return false;
        return true;
    }

}

おすすめ

転載: blog.csdn.net/qq_51444138/article/details/130142307