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

【前端面试题】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.xdnf.cn/news/18045.html

相关文章:

  • 计算机网络---跳板机与堡垒机
  • Pytorch模型复现笔记-VGG讲解+架构搭建(可直接copy运行)+冒烟测试
  • 三维重建-动手学计算机视觉19(完结)
  • openEuler等Linux系统中如何复制移动硬盘的数据
  • 豆包 Java的23种设计模式
  • 力扣3:无重复字符的最长子串
  • 【LeetCode题解】LeetCode 33. 搜索旋转排序数组
  • Java研学-SpringCloud(二)
  • 从零到一:打包并发布你的第一个MCP AI工具服务
  • DNS总结
  • 从CVPR到NeurIPS,可变形卷积+可变形空间注意力如何斩获最佳论文
  • python+flask后端开发~项目实战 | 博客问答项目--模块化文件架构的基础搭建
  • 灰色预测模型
  • matlab tlc的文件、字符串操作
  • 【力扣热题100】双指针—— 接雨水
  • redis和cdn的相似性和区别
  • Android中切换语言的方法
  • Perf使用详解
  • 黑马商城day08-Elasticsearch作业(个人记录、仅供参考、详细图解)
  • 解决 SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION蓝屏报错
  • 大模型提示词(Prompt)终极指南:从原理到实战,让AI输出质量提升300%
  • 为什么TCP连接是三次握手?不是四次两次?
  • ruoyi-vue(十一)——代码生成
  • ansible管理变量和事实
  • Chrome插件开发实战:todoList 插件
  • 影刀初级B级考试大题2
  • Java ArraysParallelSortHelpers 并行排序
  • PyTorch 面试题及详细答案120题(01-05)-- 基础概念与安装
  • 深度学习-计算机视觉-数据增广/图像增广
  • AMBA-AXI and ACE协议详解(三)