• JavaScript,DOM经典基础面试题


    JavaScript的数据类型

    JavaScript的数据类型可以分为原始类型和对象类型

    原始类型包括string,number和Boolean三种,其中字符串是使用一对单引号或者一堆双引号括起来的任意文本;而数值类型都采用64位浮点格式存储,不区分整数和小数;布尔(逻辑)只能有两个值:true和false.

    复杂类型指其他对象,如array,date,object等

    除此之外,JavaScript中海油两个特殊的原始值:null(空)和undefined(未定义),它们代表了各自特殊类型的唯一成员。

    var a=[];

    var b=a;

    b[0]=1;

    console.log(b[0]);

    console.log(a[0]);

    console.log(a===b);

    答案:1  1  true

    将对象赋值给变量,仅仅是赋值的引用,对象本身并没有赋值。因此变量a和b指向同一个数组

    var a=2;

    var obj={x:1,y:{z:2}};

    var n=[obj,3[4,5]];

    console.log(a<<2);

    console.log(obj["y"].z);

    答案:8  2

    <<是将a二进制转换,一个公式n*2的m次方

    n=a,m=<<后面的数

    简述arguments对象的作用

    答:在函数代码中,使用特殊对象arguments可以访问函数的参数,即开发者在定义函数时,无需明确的为方法声明参数,也可以子方法体中使用arguments来访问参数

    这是因为arguments 是一种特殊对象,在函数代码中,表示函数的参数数组

    正因为arguments表示参数组成的数组,因此,首先可以使用arguments。length检测函数的参数个数,其次可以通过下标arguments【index】来访问某个参数这样

    可以用arguments对象判断传递给函数的参数个数并获取参数,适用于函数参数无法确定个数的情况下

    function f(){

    console.log("function");

    }

    function test(){
    console.log(f);

    f();

    f="hello";

    console.log(f);

    f();

    }

    test();

    上述代码运行后,输出结果为?

    答案:

    function

    hello

    string is not a function这是因为,定义函数时,函数名称作为一个全局变量,该变量指向函数对象,因此执行函数test中的第一行代码时,将输出变量f所对应的函数对象,即输出函数体重代码的字符串形式;然后执行f()表示调用方法f,则输出字符串function ;执行代码非“f=hello,意味着将变量f的值改为字符串因此在输出变量f时,将输出字符串hello;而如果试图在执行f()会引发错误,这是因为,此时变量f不再是一个函数对象,而是一个普通字符串

  • 相关阅读:
    harbor两层nginx代理导致push不成功401
    docker hub国内镜像
    iOS越狱后导入照片
    Failed to list *v1.Secret: secrets is forbidden: User "system:node
    Centos设置limit最大打开文件数和最大进程数
    grafana设置主页面板
    MySQL数据库设计规范
    tcp time_wait
    mysqldiff No module named utilities.common.tools
    mongodb 慢查询排查
  • 原文地址:https://www.cnblogs.com/beautiful-jingjing/p/6152941.html
Copyright © 2020-2023  润新知