当前位置: 首页 > news >正文

【前端面试题】JavaScript核心面试题解析

一、基础类型与引用类型区别

例题解析

题目:写出下方代码段的执行结果,并说明原因。

var s1 = "abc";
var s2 = new String(s1);
s1.color = "blue";
s2.color = "red";
console.log(s1 === s2, s1.color, s2.color);

答案false, undefined, red

解析

  1. 类型差异

    • s1 是字符串字面量,属于基本数据类型(值类型)
    • s2 是通过 new String() 创建的对象,属于引用数据类型
  2. 比较结果

    • s1 === s2false,因为基本类型与引用类型比较永远不相等
  3. 属性赋值

    • 基本类型不能添加自定义属性,因此 s1.color 赋值无效,输出 undefined
    • 引用类型可以添加自定义属性,因此 s2.color 输出 red

总结:JavaScript中基本类型(string, number, boolean等)无法添加自定义属性,而引用类型(object, array, function等)可以。

二、事件委托应用

例题解析

题目:用JavaScript实现,鼠标点击页面中的任意标签,alert该标签的名称。

答案

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>事件委托示例</title><script>window.onload = function() {// 利用事件冒泡,在body上绑定事件document.body.onclick = function(e) {// 兼容IE事件对象e = e || window.event;// 获取触发事件的元素var target = e.target || e.srcElement;// 弹出标签名(大写)alert(target.tagName);}}</script>
</head>
<body><input type="button" value="按钮" /><div>div元素</div
http://www.dtcms.com/a/335556.html

相关文章:

  • Linux安装及远程连接知识实践
  • 【*正确*题解|两种做法】 [JLOI2013] 洛谷 P3256 赛车[半平面交/单调栈]
  • OmniDrive论文速读
  • 在云服务器上部署springBoot+vue前后端分离项目
  • 数据结构代码分享-1 顺序表
  • 数字人视频互动技术对比
  • 云计算-k8s实战指南:从 ServiceMesh 服务网格、流量管理、limitrange管理、亲和性、环境变量到RBAC管理全流程
  • Day07 缓存商品 购物车
  • 【远程桌面】从RustDesk服务器看UDP对比WebRTC
  • es下载、安装、部署以及集成和mysql数据同步
  • 给纯小白的Python操作Word笔记
  • gin结合minio来做文件存储
  • The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
  • css: word pacing属性
  • 哈希表与unorder_set,unorder_map的学习
  • Spring 源码学习(十一)—— webmvc 配置
  • 【JavaEE】多线程初阶3:死锁 + 线程安全 + volatile 关键字
  • 已开源:Highcharts.NET,Highcharts Android,与Highcharts iOS集成
  • VS Code配置MinGW64编译Apache Arrow C++库
  • 2025年服装工厂生产管理系统软件推荐
  • 远程桌面管理工具 - 交互式版本
  • 达梦数据库常见的重要巡检语句
  • Qt5 的基础知识
  • 【UEFI系列】ACPI
  • 51单片机-驱动独立按键模块教程
  • 类的静态成员的定义、调用及继承详解【C++每日一学】
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月17日第163弹
  • 深度学习-计算机视觉-数据增广/图像增广
  • 《MATLAB绘图进阶教程》主要内容与专栏目录(持续更新中。。。)
  • GitHub 热榜项目 - 日榜(2025-08-17)