js题

作者: 清苑折纸 | 来源:发表于2019-05-07 00:31 被阅读0次

以下代码中val、data、data2、x的值分别是什么? 为什么

var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val)
答案:number2
解析:var val = typeof a + b || c >0等同于var val = ((typeof a) + b) || (c >0)

var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
答案:先显示bb,再输出undefined
解析:var data = d ==5 && console.log('bb')等同于var data = (d ==5) && [console.log('bb')],其中console.log('bb')进行判断时结果为undefined,又因为输出是在判断之前执行所以先输出bb再判断

更改:var data = d ==5 && console.log('bb')
不应该先说

1. 因为按照运算符优先级,先算&& ,
2. 然后算 d===5 是 true
3. 然后就继续 执行右侧 log
4. 然后返回右侧 log 方法的return返回值
5. 因为 log 没有返回值,所以使用函数默认的,默认的是 undefine
所以 data 是 undefined。

var data2 = d = 0 || console.log('haha')
console.log(data2)
答案:先显示haha,再输出undefined
解析:var data2 = d = 0 || console.log('haha')等同于var data2 = (d = 0) || [console.log('haha')],先给d赋值为0,进行判断时结果为false,所以要继续进行后面的判断,后面的判断同上题

var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
答案:2
解析:var x = !!"Hello" + (!"world", !!"from here!!");等同于var x = 1 + (0, 1);,进行加法时会选择最后一个数字进行相加

遍历数组,打印数组里的每一项的平方

var arr = [3,4,5]

答案:
var arr = [3,4,5]
for(items in arr){
console.log(arr[items]*arr[items]);
}

以下代码的输出结果是? 为什么?

var a = 1;
var b = 3;
console.log( a+++b );
答案:4
解析:a+++b等同于(a++)+b,在最终结果计算完之后再将a+1

写出如下知识点的代码范例

if-else 的用法

if(condition){
    //true 
}else {
    //false
}

switch-case 的用法

switch(expresstion){
    case value1:
        statement;
        break;
    case value2:
        statement;
        break;
    case value3:
        statement;
        break;
    default:
        statement;
}

while 的用法

while(expression){
  statement;
}

do-while 的用法

do{
    statement;
}while(expression);

for 遍历数组的用法

for(var i = 10; i > 0; i--){
    console.log(i);
}

for-in 遍历对象的用法

for(property in object){
    statement
}

break 和 continue 的用法

for(var i = 1; i< 10; i++){
    if(i % 3 === 0){
        break;
    }
    console.log(i);
}

输出结果为1 2 
当i%3===0的时候直接强制退出循环
==========================================

for(var i = 1; i< 10; i++){
    if(i % 3 === 0){
        continue;
    }
    console.log(i);
}
输出结果为1 2 4 5 7 8
当i%3===0的时候跳出本次循环,进行下次循环

相关文章

  • 任务11

    第一题 http://js.jirengu.com/mekep第二题 http://js.jirengu.com/...

  • js题

    1、 2、 3、 4、

  • js题

    1、数据类型 JavaScript共有八种数据类型,分别是 Undefined、Null、Boolean、Numb...

  • js题

    1.闭包的理解,闭包的原理,那些地方会用到,闭包的缺点2.跨域的方式(jsonp,cors),对跨域了解吗,jso...

  • js题

    以下代码中val、data、data2、x的值分别是什么? 为什么 var a = 1, b = 2, c = 3...

  • js题

    1.下面代码的运行,输出的结果是: A:[ 'name', 'age' ]B:[ 'name', 'age', '...

  • js题

    ### 简答 1:如何理解原型? 1.没创建一个对象时都会关联另一个对象,这个对象就是原型对象。创建出来的对象...

  • 如何用JS买鸡?

    学习JS有段时间了,学了基本的逻辑题,下面我为大家讲一道复杂的百元买白鸡的数学题,与小学题不同,我们能用JS直接知...

  • js编程题

    求一个数的百位,十位和个位的数字

  • JS题 应用

    实现一个动画函数,无需考虑透明度function animate(ele, tarStyle, tarValue)...

网友评论

      本文标题:js题

      本文链接:https://www.haomeiwen.com/subject/mnxsoqtx.html