zoukankan      html  css  js  c++  java
  • web前端笔试篇(一)

    【 题外话 】:本博主作为一名准毕业生,即将面临毕业就业问题,即将到大四了,不准备考研的我,那么该去干嘛呢?毫无疑问,那就是实习,那么即使是实习,那么在要想进入自己心仪的企业之前,笔试这一关终究是无法避免的!特此,刷刷题也是有必要的哈!

    【 第一题 】

     1 var str = 'abc123';
     2 var num = parseInt(str);
     3 if (num == NaN) {
     4     alert(NaN);
     5 }else if (num == 123) {
     6     alert(123); 
     7 }else if (typeof num == 'number') {
     8     alert('number');
     9 }else {
    10     alert('str');
    11 }

    答案:弹出 number

    解析:

    parseInt():作用:解析一个字符串,参数:string [, radix],返回:解析后的数字,原有数组是否改变:否;该解析字符串为:'abc123',解析时从第一个字符开始解析,遇到非 Number 终止执行,故 num 的结果为:NaN,NaN 属于 number 类型,但不是一个有效的数字,并且NaN 和谁都不相等,包括自己,故弹出 number

    【 第二题 】

     1 var a = 'abc' + 123 + 456;
     2 console.log(a);
     3 
     4 var a = '456' - '123';
     5 console.log(a);
     6 
     7 var a = 1;
     8 var b = '2';
     9 var c = a > b ? (a < b ? a : b) : (a == b ? a : b);
    10 console.log(c);
    11 
    12 var a = 5 & 3;
    13 console.log(a);

    答案:abc123456  333  2  1

    解析:

    (1)+ :连字符

    (2)除了 + 运算符,有连字符的特殊意义,其它均为运算符,浏览器会进行数据类型转换,对参与计算的自动转换成 number 类型

    (3)b = 2;三元运算符,1 > 2 为假,取 :后面的值,故c = (a == b ? a : b) ,1 == 2 为假,故 c = b = 2

    (4) &:位运算符,同 1 得 1,有 0 得 0;5:101 3:011 相与 => 001 => 1

    【 第三题 】

     1 for (var i = 0; i < 10; i++) {
     2     alert(i);
     3     break;
     4 }
     5 alert(i);
     6 for (var i = 0; i < 10; i++) {
     7     continue;
     8     alert(i);
     9 }
    10 alert(i);

    答案:依次弹出三次,分别为:0  0  10

    解析:

    break:终止循环,故 i = 0 执行后便终止了,i++ 便没有执行,继续往下执行,此时 i 的值为:0,故再次弹出 0;

    continue:跳出本次循环,所以不会执行 for 中的 alert(i),但会执行 i++ 直到 i = 10 结束循环,此时 i = 10,弹出 10.

    【 第四题 】

     1 function fun(a, b, c) {
     2     var l = arguments.length;
     3     var num = 0;
     4     for (var i = 0; i < l; i++) {
     5         num += arguments[i];
     6     }
     7     alert(num)
     8 }
     9 fun(1,2,3);
    10 fun(1,2,3,4);

    答案:6  10

    解析:

    arguments 是一个对象,不是一个 Array,但类似 Array,除了 length 属性和索引元素之外没有任何 Array 属性,可以使用 arguments 对象在函数中引用函数的参数,所以即就是相当于函数的参数可作为属性存储在 arguments 中,以数组索引的方式调取引用,此处即为实现三个/四个数求和.【 可实现任意数求和 】

    【 第五题 】

    1 var a = 0;
    2 function fun() {
    3     alert(a);
    4     var a = 10;
    5 }
    6 fun();
    7 alert(a);

    答案:undefined  0

    解析:

    变量提升:a,形成一个私有作用域,存储一堆字符串:alert(a);var a = 10;

    形参赋值,代码自上而下执行:全局变量 a = 0;fun();函数执行,其私有作用域中,同理变量提升,故 a 为 undefined;赋值:私有变量:a = 10;

    弹出全局变量 a 的值:0

    给自己点小自律:每天五道题,三个小demo,一需求,了解、巩固、熟悉、学习新知识;fighting

    如有错误之处,欢迎大家评论指出哈!

  • 相关阅读:
    mysql关联取附表最后一条记录,附加lareval orm实现
    lumen 常用辅助函数
    Lumen Carbon 日期及时间处理包
    $_SERVER,IP,域名常用方法
    上传Docker镜像到阿里云
    connect() failed (111: Connection refused) while connecting to upstream, cli
    linux使用常见问题
    docker实用命名
    yii 常用orm
    Hibernate多对多映射(双向关联)实例详解——真
  • 原文地址:https://www.cnblogs.com/hq-fighting/p/11218527.html
Copyright © 2011-2022 走看看