专项练习23

目录

一、选择题

    1、JavaScript中document.getElementById()返回值的类型为?

    2、下列选项中,不属于JavaScript继承的方式的一项是()

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

二、编程题

    1、以数字的形式返回第一个参数数组中第二个参数所在的首个索引值


一、选择题

1、JavaScript中document.getElementById()返回值的类型为?

A、Array

B、Object

C、String

D、Function

正确答案:B

解析:

(1)getElementById 有括号没有括号 的区别:

①有括号:document.getElementById('id'); 返回一个Element对象,返回值类型是Object

        getElementById 是document 对象下的一个函数,后面加 () 就是调用了 getElementById 这个函数,得到函数的返回值,而函数的返回值就是一个元素节点对象

没有括号:document.getElementById; 返回一个函数,返回值类型是Function

        getElementById 是 document 对象下的一个函数,函数用法:给函数传入一个 id,这个函数就会把页面上第一个 id 对应的 dom 节点也就是一个 element 对象返回给我们,如果没有 id 对应的 dom 节点,则返回 null

(2)document.getElementById() 和 document.getElementsByName() 的区别:

①document.getElementById()  返回的是单个元素,document.getElementsByName()  返回的是元素的数组

②因为一个文档中的 name 属性可能不唯一,(如 HTML 表单中的单选按钮通常具有相同的 name 属性),  所以 getElementsByName() 方法返回的是元素的数组,而不是一个元素

(3)document对象下常见的获取dom节点的方法

  • document.getElementsByClassName():返回文档中所有指定类名的元素集合,作为 NodeList 对象(伪数组)
  • document.getElementsByName():返回带有指定名称的对象集合
  • document.getElementsByTagName():返回带有指定标签名的对象集合
  • document.querySelectorAll():返回文档中匹配的CSS选择器所有元素节点列表,是 HTML5 中引入的新方法

注意:以上四个返回的都是集合,都是getElements,而不是getElement,数组里每一项是相应的dom节点

document.getElementById():返回对拥有指定 id 的第一个对象的引用

document.querySelector():返回文档中匹配指定的CSS选择器的第一元素

注意:以上两个返回的都是单个dom节点对象


2、下列选项中,不属于JavaScript继承的方式的一项是()

A、原型链继承

B、构造函数继承

C、组合继承

D、关联继承

正确答案:D        你的答案:C

解析:

(1)js 常见的继承方式包括原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承,以及ES6新增的class继承,但不包括关联继承

(2)对这些继承的详细描述

https://www.cnblogs.com/Leophen/p/11401734.html


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

A、(()=>{}).length

B、1 & 2

C、+[]

D、[1,2,-3].reduce((a, b) => a - b, 0)

正确答案:ABCD        你的答案:ACD

解析:

(1)A选项:(()=>{}).length; 获取方法形参个数,形参为0

  • 如果是((a)=> {}).length,形参有一个所以函数的length为1
  • 如果是((a,b)=> {}).length,形参有两个所以函数的length为2

(2)B选项:按位与运算,同为1才为1,否则返回0,1=0001、2=0010,1&2 结果是0000 ,转成10进制也就是0

(3)C选项:+[] 隐式类型转换,+会让 [] 隐式转换成 Number,因为 [] 是对象,所以toPrimitive->valueOf->toString为 '' 字符串,Number('') 得 0 

(4)D选项:reduce累加器,对数组中的每个元素执行一个 reduce 函数,将其结果汇总为单个返回值。a为累计器累计回调的返回值,b为数组的每一项元素,传入初始值0->0-(1)->(-1)-2->(-3)-(-3)->0

reduce()实例描述,可看小编这篇文章:ES6篇(上)_五秒法则的博客-CSDN博客


二、编程题

1、以数字的形式返回第一个参数数组中第二个参数所在的首个索引值

注意:如果数组中不存在目标值,则返回-1

解析:

(1)indexOf()方法

<script>
    let array = [35,24,88,23,67,35,63,24,72]
    value = 24
    function _indexof(array,value){
        return array.indexOf(value)
    }
    console.log(_indexof(array,value));
</script>

(2)findIndex()方法

<script>
    let array = [35,24,88,23,67,35,63,24,72]
    value = 24
    function _indexof(array,value){
        return array.findIndex(e=>e === value)
    }
    console.log(_indexof(array,value));
</script>

(3)for()循环

<script>
    let array = [35,24,88,23,67,35,63,24,72]
    value = 24
    function _indexof(array,value){
        for(let i in array){
            if(array[i] === value){
                return +i
            }
        }
        return -1
    }
    console.log(_indexof(array,value));
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五秒法则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值