今日刷题(2022-4-30) - 注意优先级

76 篇文章 2 订阅
26 篇文章 2 订阅

题目1

执行以下代码,其实现的效果为()
<div>
   <input type="button" id ="button1" value="1" onclick="moveBtn(this);">
   <input type="button" id ="button2" value="2" />
</div>
<script type="text/javascript">
   function moveBtn(obj) {
     var clone = obj.cloneNode(true);
     var parent = obj.parentNode;
     parent.appendChild(clone);
     parent.removeChild(obj);
   }
</script>
A: 鼠标单击button1后将button1链接到button2的后面

B: 鼠标单击button1后将button1移动到button2的后面

C: 鼠标单击button1后将button2移动到button1的后面

D: 鼠标单击button1后将button2链接到button1的后面

  • 答案
    • B
  • 解析
    • **Node.cloneNode([deep]) **方法返回调用该方法的节点的一个副本.
      • Node: 将要被克隆的节点
      • deep: 是否采用深度克隆,如果为true,则该节点的所有后代节点也都会被克隆,如果为false,则只克隆该节点本身.
    • 所以obj.cloneNode(true);深度克隆一个自己的节点,克隆之后删除原体后在移动克隆体到button1的后面

题目2

假设val已经声明,可定义为任何值。则下面js代码有可能输出的结果为:
console.log('Value is ' + (val != '0') ? 'define' : 'undefine');
A: Value is define

B: Value is undefine

C: define

D: undefine

E: Value is define 或者 Value isundefine

D: define 或者 undefine 

E: 其他选项都有可能

  • 答案
    • C
  • 解析
    • 算术运算符优先级大于三元运算符,所以先计算 'Value is ’ + (val != ‘0’) 后进行三元运算,但是这个计算结果不管怎么样都会为真(因为在js当中,除了 “” null undefined NaN false 0 这六个转化为布尔值为假,其他均为真,空数组,空对象转化为布尔值也是真!)所以这个三元运算符结果永远为 ‘define’
    • JavaScript当中运算符优先级文档

题目3

已知数组arr=[1,69,4,6,8,10],对数组进行升序排列,下列选项中,不符合要求的是()
A:
for (var i = 0;i<arr.length-1;i++){

    for (var j = 0;j < arr.length-1-i;j++){

        if(arr[j]>arr[j+1]){

            var temp = arr[j];

            arr[j] = arr[j+1];

            arr[j+1] = temp;

        }

    }

}

console.log(arr);
B:
var minIndex;

var temp;

for(let i = 1; i < arr.length; i++) {

    minIndex = i - 1;

    for(let j = i; j <arr.length; j++) {

        if(arr[j] < arr[minIndex]) minIndex = j;

    }

    if(minIndex != i-1) {

        temp = arr[i-1];

        arr[i-1] = arr[minIndex];

        arr[minIndex] = temp;

    }
}
console.log(arr);
C:
arr.sort((a,b)=>b-a);

console.log(arr);
D:
for(let i = 1; i < arr.length; i ++) {

    for(let j = i - 1; j>=0 && arr[j] > arr[j+1]; j --) {

        let temp = arr[j];

        arr[j] = arr[j+1];

        arr[j+1] = temp;

    }
}
console.log(arr);
  • 答案
    • C选项
  • 解析
    • sort当中arr.sort( ( a , b ) ) => b - a ) ;为降序, arr.sort( ( a , b ) ) => a-b ) 为升序
    • A是冒泡排序
    • B是选择排序
    • D是插入排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

未成年梦想

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

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

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

打赏作者

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

抵扣说明:

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

余额充值