js经典面试题

1

2

解:js中“.”与“=”同时存在时,优先计算“.”,也就是a.x=a={n:2}中,{n:2}先赋值a.x  。a增加一个属性(键)他的值为{n:2}。x={n:2}  此时引用地址还是等于之前赋予b的引用地址

即b={n:1,x:{n:2}}   然后再赋值a  即a={n:2}  此时a获得一个新的键值,引用地址也会改变,之前的地址就不会再调用了,重新获得属性是没有x属性了所以打印时a.x就会显示undefined。

故结果如图2

以上为自己的解题想法,如有错误劳请大家指出!!

原文地址:https://www.cnblogs.com/zc-sbh111/p/12103343.html

时间: 2024-08-30 00:39:16

js经典面试题的相关文章

JS经典面试题汉诺塔

我爱撸码,撸码使我感到快乐!大家好我是Counter.今天给大家分享的是利用JS将汉诺塔原理实现出来,其实主要是考察一个递归的思想,复杂的问题简单化,汉诺塔应该都知道吧,具体的游戏规则,可以百度查查,这边就不赘述了,主要说说,如何利用js去实现这样的想法. 直接上代码吧: // hanio(数量,启动柱子形参, 辅助柱子形参,目标柱子形参) function hanio(num, A, B, C) { // 如果数量只有一个的话,那么直接从启动柱子拿起来放到目标柱子就可以了 if (num ==

五个JS经典面试题

1:Scope作用范围 1: (function() { 2: var a = b = 5; 3: })(); 4: 5: console.log(b); 什么会被打印在控制台上? 回答 上面的代码会打印 5. 这个问题的诀窍是,这里有两个变量声明,但 a 使用关键字var声明的.代表它是一个函数的局部变量.与此相反,b 变成了全局变量. 这个问题的另一个诀窍是,它没有使用严格模式 (‘use strict';).如果启用了严格模式,代码就会引发ReferenceError的错误:B没有定义(b

大部分人都会做错的经典JS闭包面试题

大部分人都会做错的经典JS闭包面试题 目录 由工作中演变而来的面试题 JS中有几种函数 创建函数的几种方式 三个fun函数的关系是什么? 函数作用域链的问题 到底在调用哪个函数? 后话 由工作中演变而来的面试题 这是一个我工作当中的遇到的一个问题,似乎很有趣,就当做了一道题去面试,发现几乎没人能全部答对并说出原因,遂拿出来聊一聊吧. 先看题目代码: function fun(n,o) { console.log(o) return { fun:function(m){ return fun(m,

经典js闭包----对《大部分人都会做错的经典JS闭包面试题》的理解

重新看js闭包的时候看到了<大部分人都会做错的经典JS闭包面试题>,自己理解并记录了下想法.很多部分博主已经讲得很详细了,只是后面的解释部分文字有点绕. 原帖地址:http://web.jobbole.com/84328/ 先贴代码 1 function fun(n,o){ 2 console.log(o); 3 return { 4 fun:function(m){ 5 return fun(m,n); 6 } 7 } 8 } 9 10 var a = fun(0); 11 a.fun(1)

jQuery经典面试题及答案精选(转)

jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术.本文整理了一些关于jQuery的经典面试题及答案,分享给正要面试Web开发岗位的同学. 问题:jQuery的美元符号$有什么作用? 回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码: $(document).ready(function(){ }); 当然你也可以用jQuery来代替$,如下代码: jQuery(do

【转】嵌入式软件工程师经典笔试题

嵌入式软件工程师经典笔试题 > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的. 3).

Linux 经典面试题

[Linux  经典面试题] 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来标识. 4. 全部磁盘块由四个部分组成,分别为引导块 .专用块 . i节点表块 和数据存储块. 5. 链接分为: 硬链接 和 符号链接 . 6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息. 7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八

李洪强iOS经典面试题总结

iOS经典面试题总结--内存管理 我根据自己的情况做了一下总结,答案是我总结的,如有答的不好的地方,希望批评指正以及交流,谢谢! 内存管理 1.什么是ARC? ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release.在对象被创建时retain count+1,在对象被release时count-1,当count=0时,销毁对象.程序中加入autoreleasepool对象会由系统自动加上autorelease方法,如果该对象

【转】.net 经典面试题

[转].net 经典面试题 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 在同一命名空间内可以访问. 2 .列举ASP.NET 页面之间传递值的几种方式. 答. 1.使用QueryString, 如....?id=1; response.