javascript高级试题

javascript高级试题1 判断为数组类型的 4 种方式 Array isArray typeofinstan 判断对象是否包含特定的自身 非继承 属性 hasOwnProper 3 改变 this 的 3 种方式 他们有什么相同点和不同点 call bind apply 这三个函数的第一个参数都是 this 的指向对象 第二个参数差别就来了 call 的参数是直接放进去的 第二第三第 n 个参数全都用逗号分隔 直接放到后面 obj myFun call db 成都

1.判断为数组类型的4种方式
Array.isArray()   typeof   instanceof  constructor

2.判断对象是否包含特定的自身(非继承)属性
hasOwnProperty()

3.改变this的3种方式,他们有什么相同点和不同点
call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象,第二个参数差别就来了:
call 的参数是直接放进去的,第二第三第 n 个参数全都用逗号分隔,直接放到后面 obj.myFun.call(db,’成都’, … ,’string’ )。
apply 的所有参数都必须放在一个数组里面传进去 obj.myFun.apply(db,[‘成都’, …, ‘string’ ])。
bind 除了返回是函数以外,它 的参数和 call 一样。

4.使用递归求0.1+0.2+….+1的和
let num = 0;
let sum = 0;
function add(num) {

        num += 0.1;
        if (num <= 1) {

            sum += num;
            add(num);
        };
        return sum;
};
console.log(add(num));

5.闭包的3个特性
①函数嵌套函数
②函数内部可以引用函数外部的参数和变量
③参数和变量不会被垃圾回收机制回收

6.什么是BFC
BFC (块级格式化上下文)overflow:hidden; 

7.让一个200*200的元素垂直水平居中
答案不唯一
div{

            width: 200px;
            height: 200px;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
        }
8.获取滚动条的高度
document.documentElement.scrollTop || document.body.scrollTop;(兼容代码)

9.For,forEach,for…in,while语法
for(初始值;判断条件;变化语句){循环体}
数组(对象).forEach(item,index,arr)—值,下标,当前循环数组
for(键名 in 对象){执行语句(循环体);}
while(判断语句){循环体};

10.Opacity兼容5大浏览器的写法
opacity{

            filter: alpha(opacity=50); 兼容IE6、7、8
            -moz-opacity:0.5; 老版的Mozilla
            -khtml-opacity:0.5; 老版的Safari
            -webkit-opacity:0.5; 支持webkit内核的浏览器
            opacity: 0.5; 支持opacity的浏览器
}
11.方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象语法和参数
Object.defineProperty(obj, prop, descriptor)
obj要定义属性的对象
prop要定义或修改的属性的名称或 Symbol
descriptor要定义或修改的属性描述符
12.Symbol与Symbol.for与Symbol.keyFor
Symbol会被登记在全局环境中供搜索,后者不会,
Symbol.for()不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值
Symbol.keyFor返回一个已登记的 Symbol 类型值的key
13.Map方法中,什么方法可以返回一个新的迭代对象,对象中每个元素是数组,键,值
14.For…of和forEach区别
For…of   
使用return,break,continue来终止循环    
遍历字符串
仅仅支持数组的遍历,同时也适用于很多类似数组的对象
15.什么可以从一个类似数组或可迭代对象创建一个新的,浅拷贝
Array.from(arrayLike[, mapFn[, thisArg]])
arrayLike想要转换成数组的伪数组对象或可迭代对象。
        // mapFn 回调  thisArg回调第二个this 对象
16.过滤器
filter作对比,谁点filter,点的是被比较的
17.Set, Map区别(3个区别)
Set成员不能重复
(2)只有键值没有键名,类似数组
(3)可以遍历,方法有add, delete,has
Map:
(1)本质上是健值对的集合,类似集合
(2)可以遍历,可以跟各种数据格式转换
18.js中监听事件语法,(IE兼容写法)
element.addEventListener(event, function, useCapture);
element.attachEvent(event, function);
element.detachEvent(event, function);
19.什么是解构赋值ES6 允许按照一定模式,
从数组和对象中提取值,对变量进行赋值
20.使用箭头函数应该注意什么
1用了箭头函数,this就不是指向window,而是父级(指向是可变的2不能够使用arguments对象
3不能用作构造函数,这就是说不能够使用new命令,否则会抛出一个错误
4不可以使用yield命令,因此箭头函数不能用作 Generator 函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232126.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • wampserver中mysql密码_WampServer修改MySQL密码

    wampserver中mysql密码_WampServer修改MySQL密码WampServer 修改 MySQL 密码 WampServer 安装后密码是空的 需要设置一下一般有两种方式 一是通过 phpMyAdmin 直接修改 二是使用 WAMP 的 MySql 控制台修改 第一种 在 phpMyAdmin 界面中点击 用户 将用户概况中的所有用户名为 root 用户的密码都改为 WampServer 修改 MySQL 密码 WampServer 安装后密码是空的 需要设置一下一般有两

    2025年8月22日
    4
  • python灰度图生成g代码_tcam2009利用灰度图生成雕刻机所需的G代码

    python灰度图生成g代码_tcam2009利用灰度图生成雕刻机所需的G代码双击桌面的artcam快捷方式图标打开软件首先看到如下的界面。点击“通过图像产生模型”利用ARTCAM软件制作浮雕刀路的方法Artcam2009利用灰度图生成雕刻机所需的G代码1、打开Artcam2009(其它版本的也可以),选择文件菜单下新的通过图像文件载入一个灰度图。2、找到你要编辑的灰度图,选择打开。3、设置工件原点(这里选择的是中心,你也可以选择其它的位置),单位选择…

    2022年6月20日
    30
  • java如何键盘录入数组_从键盘输入给数组赋值

    java如何键盘录入数组_从键盘输入给数组赋值有时候在编写Jave的时候需要键盘输入一个数组,本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入,废话不多说,直接上代码:第一种方法:(不限制输入数组的长度)System.out.println("请输入几个数并用逗号隔开:");Scannersc=newScanner(System.in);Stringstr=sc.next().toString();…

    2022年4月19日
    56
  • window.top.location.href 和 window.location.href 的区别

    window.top.location.href 和 window.location.href 的区别

    2021年10月9日
    46
  • Hadoop切分纯文本时对某一行跨两个分片这种情况的处理

    Hadoop切分纯文本时对某一行跨两个分片这种情况的处理Hadoop切分纯文本时对某一行跨两个分片这种情况的处理

    2022年4月23日
    45
  • tess4j正确的使用 OCR

    tess4j正确的使用 OCR在官网上下载下来的tess4j的zip,初见时看的云里雾里的,原以为是个jar,直接引用就好了,结果竟是个zip。网上查一下用法,各种说法,各种菜,全是误导,自己不懂就敢瞎说…实际上使用时需要注意一下几点:一、引jar包打开压缩包,在dist下边有tess4j的jar,这个jar包在lib下也可以找到,这是关键jar。此外还需要其他好多依赖jar包,这些都可以在lib下找到。l

    2022年5月25日
    105

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号