JS常见面试题

一 JavaScript中是否存在函数重载功能
没有重载概念
重载:在一个类文件中,允许出现多个方法名相同,但参数列表不同的同名方法
JavaScript5.0版本没有类文件

<script type="text/javascript">
        function fun1() {
            alert("100");
        }

        function fun1() {
            alert("200");
        }

        window.fun1();//200,对引用对象管理内存的覆盖现象
    </script>

声明了一个fun1的方法,也可以说声明了一个fun1的对象,这个对象的引用指向函数体,当页面从上向下加载时,引用的指向会发生改变,从侧面说明没有重载

二 JavaScript声明函数的方式:

1【标准声明方式】
function 函数对象名(参数1, 参数2) {
}

2【对象化声明方式】
var 函数对象 = function(参数1, 参数2) {
}

三 浏览器执行脚本命令的规则:
在浏览器去加载一个<script>标签时,首先将当前<script>标签中所有以【标准形式】声明的函数类型对象进行初始化,然后才会自上而下执行<script>中的命令行

 window.fun1(); //100
 function fun1() {
       alert("100");
   }

   window.fun2();//window.fun2 is not a function
   var fun2 = function() {
       alert("200");
   }
   function fun1() {
            alert("100");
        }

        window.fun1();  //200

        function fun1() {
            alert("200");
        }

        window.fun1(); //200

        var fun1 = function() {
            alert("300");
        }

        window.fun1(); //300

四 JavaScript中函数的参数管理方式:使用数组作为函数的参数
JavaScript自动为每一个函数类型对象,分配一个属性【arguments】
【arguments】是一个数组。在这个数组中保存当前函数运行时接受的所有实参

  function fun1(param1, param2) {
            alert("100");
        }

        function fun1(param2) {
            alert("200");
            alert("参数的个数是:" + arguments.length);    //2
            for(var i = 0; i < arguments.length; i++) {
                alert("第" + (i + 1) + "个参数是" + arguments[i]);//a, b
            }
        }

        window.fun1("a", "b");//200

五 编程体现重载功能

function fun1() {
            if (arguments.length == 1 && typeof  arguments[0] == "string") {
                alert("Hello" + arguments[0]);
            } else if (arguments.length == 2 && typeof arguments[0] == "number") {
                alert("加法运算的结果是:" + (arguments[0] + arguments[1]));
            }
        }

        window.fun1("Mike"); //HelloMike
        window.fun1(100,200);//300

六 JavaScript顶级类型----object对象有什么特点
由于JavaScript是弱类型的对象,所以object对象运行时,可以任意添加对象中的属性和方法

七 JavaScript中如何创建一个object类型的对象

1.var obj = new Object();
2.var obj = {
	"name" : "Mike",
	"age" : 23
}
3.自定义构造方法:
function Student(param1, param2) {
	this.id = param1;
	this.name = param2;
}
var stu = new Student(10, "Mike");
4.var arr = [];

八 如何动态为object类型对象添加属性和方法
obj.属性名 = 值;
obj[“属性名” ] = 值;

九 要求在JavaScript中开发一个类似map对象

 function HashMap() {
            var obj = new Object();
            this.put = function(key, value) {
                obj[key] = value;
            }

            this.get = function(key) {
                return obj[key];
            }
        }

十 JavaScript的作用
JavaScript是用于定位DOM对象,通过对DOM对象管理间接操作浏览器中HTML标签

十一 DOM对象
1.DOM对象是由谁创建:是由浏览器负责创建
2.浏览器在何时创建DOM对象:浏览器在加载html标签时。会为每一个html标签创建一个DOM对象
3.DOM对象在浏览器管理的内存中以何种形式存储:以二叉树的形式存在,document相当于这颗二叉树

十二 说说你说知道关于定位DOM对象的方式有哪些
document.getElementById
document.getElementsByName
document.getElementsByTagName
document.getElementsByClassName

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值