【牛客网-前端笔试题】——Javascript专项练习4

个人主页: 小卢要刷力扣题
‍♂️ 作者简介: 大三学生,准备找工作的人儿
推荐一款找工作神器网站: 《牛客网》 |笔试题库|面试经验|实习招聘内推|
⛪ 系列专栏: 《前端面试题》
希望大家多多支持一起进步呀!
如果文章对你有帮助的话,欢迎评论点赞收藏加关注

在这里插入图片描述

文章目录

  • 前言
  • 一、牛客是做什么的?
  • Javascript专项练习


前言

秋招正式批已经到来,相信不少小伙伴在为找工作而烦恼,对自己的实力不太自信,感觉好难找工作,不用怕,下面我来给各位推荐一个知名刷题网站《牛客》

一、牛客是做什么的?

牛客网,是一个集笔面试系统、题库、课程教育、社群交流、招聘内推于一体的招聘类网站。牛客是领先的数字化招聘求职解决方案服务商,牛客向企业提供校园招聘技术人才招聘一站式解决方案服务,主要包括招聘渠道服务(发校招岗位收简历) ,招聘SaaS工具服务(笔、面试 、群面系统 ),招聘传播服务(技术竞赛、广告、线上招聘专场、牛客职播。
牛客网题库中包含几万道题目,主要通过第三方购买和 UGC 的方式获得,牛客网先后尝试了直播和录播课,内容覆盖笔试题解析、面试技巧和机器学习等。

在这里插入图片描述

在里面可以与大家交流最近的面试心得,
如果不知道怎么面试的或者面试技巧掌握得不够牢固的小伙伴可以在牛客里面找面经来看,快速提升自己的面试能力,以更快的找到自己心仪的工作

在这里插入图片描述
在这里插入图片描述

Javascript专项练习

【牛客网-前端笔试题】——Javascript专项练习4_第1张图片

cookie会被Http请求携带,但 loaclstorage不会

【牛客网-前端笔试题】——Javascript专项练习4_第2张图片

【牛客网-前端笔试题】——Javascript专项练习4_第3张图片

数字、大小写字母 => [0-9a-fA-F]
相同时可以简写 #11bbCC | #1bC => {6} | {3}
因此选B

【牛客网-前端笔试题】——Javascript专项练习4_第4张图片

使用function关键字定义的函数,其内部this指针指向它的直接调用者,
var func = user.getCount, 此时相当于在window对象上绑定了一个变量,
即 window.func == user.getCount,
那么此时func的直接调用者是window, window对象上无count数量,故输出undefined

【牛客网-前端笔试题】——Javascript专项练习4_第5张图片

typeof的返回值共有6种,分别为number, boolean, string, undefined, object, function.而B答案中float属于number,number包含了float,所以不能等于float,所以返回false。
因此选B

【牛客网-前端笔试题】——Javascript专项练习4_第6张图片

这是一个闭包,闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
这里的局部变量i,对f1()来说是全局变量,对f2()来说也是全局变量,但是f1()的i跟f2()的i又是相互独立相互不可见的,f1()每执行一次,f1()的i就加一,f2()每次执行一次,f2()的i就加油,但是相互之间不影响,因此结果是010

【牛客网-前端笔试题】——Javascript专项练习4_第7张图片

Math.round(x)
如果参数的小数部分大于 0.5,则舍入到下一个绝对值更大的整数;
如果参数的小数部分小于 0.5,则舍入到下一个绝对值更小的整数;
如果参数的小数部分恰好等于0.5,则舍入到下一个在正无穷(+∞)方向上的整数。注意,与很多其他语言中的round()函数不同,Math.round()并不总是舍入到远离0的方向(尤其是在负数的小数部分恰好等于0.5的情况下)

【牛客网-前端笔试题】——Javascript专项练习4_第8张图片

一、delete是干什么的:
delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。
二、delete使用要注意什么:
●如果你试图删除的属性不存在,那么delete将不会起任何作用,但仍会返回true
●如果对象的原型链上有一个与待删除属性同名的属性,那么删除属性之后,对象会使用原型链上的那个属性(也就是说,delete操作只会在自身的属性上起作用)
●任何使用 var 声明的属性不能从全局作用域或函数的作用域中删除。
这样的话,delete操作不能删除任何在全局作用域中的函数(无论这个函数是来自于函数声明或函数表达式)
●除了在全局作用域中的函数不能被删除,在对象(object)中的函数是能够用delete操作删除的。
●任何用let或const声明的属性不能够从它被声明的作用域中删除。
●不可设置的(Non-configurable)属性不能被移除。这意味着像Math, Array, Object内置对象的属性以及使用Object.defineProperty()方法设置为不可设置的属性不能被删除。
因此选B

【牛客网-前端笔试题】——Javascript专项练习4_第9张图片

preventDefault() 取消事件默认行为,如阻止点击提交按钮时对表单的提交(本题中click并没有什么默认行为)
stopImmediatePropagation() 取消事件冒泡同时阻止当前节点上的事件处理程序被调用,影响当前的事件触发
stopPropagation() 取消事件冒泡,不影响事件触发
cancelBubbe() 取消事件冒泡
returnValue() 取消事件默认行为
因此选B

【牛客网-前端笔试题】——Javascript专项练习4_第10张图片

当一个值为false的Boolean对象放到条件语句当中的时候,Boolean对象的值会被当作true来计算,但是它本身的值并没有改变,依然是false。
因此选A

【牛客网-前端笔试题】——Javascript专项练习4_第11张图片

1.与运算所有项为true情况下,返回最后一个值,注意是值,并不是true
2.与运算有false时返回第一个false,这里的false包括(0、false、null、NaN、undefined)

【牛客网-前端笔试题】——Javascript专项练习4_第12张图片

AMD:“异步模块定义”;它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
AMD也采用require()语句加载模块,但是不同于CommonJS。
主要有两个Javascript库实现了AMD规范:require.js和curl.js。
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。require.js—AMD
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。sea.js----CMD
区别:

  1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。
  2. CMD 推崇依赖就近,AMD 推崇依赖前置。

【牛客网-前端笔试题】——Javascript专项练习4_第13张图片

在(x = x) => x中的三个x都是指向相同的变量,并且当函数在尝试给x赋值时会访问第2个x,如果是f()则此时由于变量x是未赋值的,因此它就如同let变量一样不可访问,从而触发异常,相反的就可以拿到这个值了。

【牛客网-前端笔试题】——Javascript专项练习4_第14张图片

1.var操作符
使用var操作符定义的变量将成为该变量的作用域中的局部变量,如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁;
省略var操作符会创建一个全局变量,但在局部作用域中定义的全局变量很难维护,也会由于相应变量不会马上就有定义而导致不必要的混乱,给未经声明的变量赋值在严格模式下会导致抛出Reference错误,所以不推荐使用。

function noVar(){
message="global var";//全局变量
}
noVar();
console.log(message);

2.解析
var a=b=1;>> var a=b;b=1;
首先使用var初始化变量a赋值为b,b未定义,a=undefined;省略var初始化变量b为全局变量,b=1。

【牛客网-前端笔试题】——Javascript专项练习4_第15张图片

变量num用于接收立即执行函数的返回结果,在立即执行函数内部,由于函数的形参具有DontDelete特性,所以无法使用delete操作符对其进行删除,也就是delete x是无效的。因此,在立即执行函数外,实参1将传递给形参x,然后形参x作为函数的执行结果返回,故num值为1,D选项正确。

【牛客网-前端笔试题】——Javascript专项练习4_第16张图片
【牛客网-前端笔试题】——Javascript专项练习4_第17张图片
因此选D

【牛客网-前端笔试题】——Javascript专项练习4_第18张图片

立即执行函数的this指向是window(非严格模式下),因为作为一个匿名函数,在被调用的时候,我们往往就是直接调用,因此它的this是非常确定的,那么len就取window下的len值了即117。

【牛客网-前端笔试题】——Javascript专项练习4_第19张图片

赋值语句右侧的表达式含有关系运算符、逻辑运算符,其运算符的优先级是:关系运算符>逻辑运算符(先&&后||)。因此,先执行关系运算:4 >= 6,返回结果为false,再执行逻辑运算的&&:true && 1,返回结果为1,最后执行逻辑运算的||: false || 1 || false,false || 1的结果为1,1 || false的结果也为1,所以变量a的值为1,C选项正确。

【牛客网-前端笔试题】——Javascript专项练习4_第20张图片

这里考察原型,js原型遵循5个规则:
1、所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(除了“null”以外);
2、所有的引用类型(数组、对象、函数),都有一个__proto__(隐式原型)属性,属性值是一个普通的对象;
3、所有的函数,都有一个prototype(显式原型)属性,属性值也是一个普通对象;
4、所有的引用类型(数组、对象、函数),__ proto__属性值指向(完全相等)它的构造函数的“prototype”属性值;
5、当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么会去__ proto __(即它的构造函数的prototype中)寻找。

【牛客网-前端笔试题】——Javascript专项练习4_第21张图片

基本数据类型:Number,String,Boolean,Null,Undefined,Symbol,BigInt
引用数据类型:Object,Array,Function

【牛客网-前端笔试题】——Javascript专项练习4_第22张图片

用户当前打开的页面是新页面,前进无效,但可以后退

【牛客网-前端笔试题】——Javascript专项练习4_第23张图片

你可能感兴趣的:(前端面试题,javascript,前端,面试)