栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > Java面试题

三道Javascript面试题详细解析

Java面试题 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

三道Javascript面试题详细解析

三道Javascript面试题:

  • JS的数据类型有几种?
  • 引用类型和基本类型的区别是什么?
  • 写一个跨浏览器的事件处理程序?

前两个问题本质是JS的变量问题。

Javascript变量可以用来保存两种类型的值:基本类型值和引用类型值。
基本类型的值源自以下五种基本数据类型:

  • Undefined
  • Null
  • Boolean
  • Number
  • String

基本类型值和引用类型值具有以下特点:

  • 基本类型值在内存中占据固定大小的空间,因此会被保存栈内存中。
  • 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本。
  • 引用类型的值是对象,会保存在队内存中。
  • 包含引用类型值的变量实际上包含的不是对象本身,儿时一个指向该对象的指针。
  • 从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象。
  • 确定一个值是哪种基本类型可以使用typeof操作符,而确定一个值是哪种引用类型可以使用instanceof操作符

JS中的事件

事件是JS中最重要的部分之一,深入了解事件的工作机制以及它们对性能的影响至关重要。

代码如下:

// 事件处理工具,跨浏览器兼容性var EventUtil = {    addHandler: function(element, type, handler) {        if (element.addEventListener) { element.addEventListener(type, handler, false);        } else if (element.attachEvent) { element.attachEvent("on" + type, handler);        } else { element["on" + type] = handler;        };    },    removeHandler: function(element, type, handler) {        if (element.removeEventListener) { element.removeEventListener(type, handler, false);        } else if (element.detachEvent) { element.detachEvent("on" + type, handler);        } else { element["on" + type] = null;        };    }}

这两个方法首先都会检测传入的元素是否存在DOM2级方法。

如果存在DOM2级方法,则使用该方法:

传入事件类型、事件处理函数、false(表示冒泡)

如果存在IE的方法,则使用第二种:

事件类型必须加上”on”前缀。

最后一种使用DOM0方法【基本不会执行】。

传入的handler如果是匿名函数的话,无法被移除。

百度笔试:

  • ===运算符判断相等的流程是怎样的
  • ==运算符判断相等的流程是怎样的
  • 闭包
  • for in
  • 原型和构造函数
  • undefined和null
  • 跨域
  • 大题:
    • 字符串的处理
    • 编码的转换

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/359318.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号