《饿了么大前端 Node.js 进阶教程》—Javascript 基础问题—引用传递

《饿了么大前端 Node.js 进阶教程》地址:https://github.com/ElemeFE/node-interview

1.如何编写一个 json 对象的拷贝函数

function clone(obj){

  var result;

  if (Array.isArray(obj)) {

    result = [];

    obj.forEach((item) => {

      result.push(clone(item));

    });        

  } else if (typeof obj === ‘object‘) {

    result = {};

    for (key in obj) {

      result[key] = clone(obj[key]);

    }

  } else {

    result = obj;

  }

  return result;

}

如果是Date或者RegExp之类的类型,就得另加判断了

2.== 与 === 的区别

== 是两边值相等,===是不仅值相等类型也要相等

3.[1] == [1] 是 true 还是 false

想都不要想,肯定是false,因为是引用类型,比较的是地址;

时间: 2024-10-06 12:11:47

《饿了么大前端 Node.js 进阶教程》—Javascript 基础问题—引用传递的相关文章

《饿了么大前端 Node.js 进阶教程》—Javascript 基础问题—作用域

<饿了么大前端 Node.js 进阶教程>地址:https://github.com/ElemeFE/node-interview 作用域从某种意义上来说是个难点,它需要你真真正正的了解JS的分词.词法分析,语法分析,代码生成,LHS查询,RHS查询等深层的东西. 如果不知道可以读一下<你不知道的JavaScript:上卷> let和var的区别 1.let只在声明的代码块中有效,{}中使用let声明变量,外面是访问不到的,这就是块级作用域 2.不存在变量提升问题 3.重复声明会报

《饿了么大前端 Node.js 进阶教程》—Javascript 基础问题—类型判断

lodash的类型判断源码 <饿了么大前端 Node.js 进阶教程>地址:https://github.com/ElemeFE/node-interview  lodash介绍:lodash是目前很流行的JS工具库,它封装了许多JS常用到的工具方法,在阅读源码时,你会发现代码冗长:官网说这是性能优化,不管你信不信,反正我信了! (1)null 类型 function isNull(value) { return value === null; } (2)number类型 function i

005_解密饿了么大前端团队

最近,"大前端"这个词被频繁提及,很多团队也在重新思考"大前端团队"和"移动团队+前端团队"这两种模式的优劣.而在大家还在热火朝天地讨论概念的时候,饿了么大前端团队已经茁壮成长,有了很多先人一步的实践了.InfoQ 特别邀请了饿了么大前端部门负责人林建锋,请他结合饿了么大前端团队的实践,向大家分享如何落地和管理一个大前端团队.    平时大家会叫我小鱼或 Sofish,尴尬的是只有屈指可数的同行知道我真名叫林建锋.曾经,为了逃离数学,大学我选了法

006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!

作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 sofish 做客大咖说直播节目的总结和整理,希望能帮助各位淀粉更清晰地理解 sofish 的观点.获取大咖说视频下载链接,请关注前端之巅并回复"鱼老板",查看饿了么大前端更多实践请回复"饿了么".视频回顾 程序员成长之:跨界.困惑与架构师1. 如何看待"大跨度入

24个很赞的 Node.js 免费教程和在线指南

JavaScript 最初是用来创建动态网站效果的的前端语言.而如今,这门脚本语言也可以用作后端开发,用于搭建 Web 服务器,开发接口,甚至创建博客.在下面这个列表中包括24个 Node.js 教程和在线指南.这些资源对于任何想要学习更多的关于 Node.js 的知识的开发人员都是很有用的. 您可能感兴趣的相关文章 经典网页设计:超炫动画效果单页网站 30个独具匠心的精美单页网站设计案例 25个以全屏照片为背景的精美网页作品 20个与众不同的网页联系表单设计案例 20个模糊背景在网站中的经典应

安装使用Mongoose配合Node.js操作MongoDB的基础教程【转载】

这篇文章主要介绍了安装使用Mongoose来让Node.js操作MongoDB的基础教程,前端js+后端node+js操作MongoDB正是所谓最流行的一种JavaScript全栈开发方案,需要的朋友可以参考下 安装mongoose 使用express准备一个TestMongoDB项目,命令序列如下: express TestMongoDB cd TestMongoDB npm install 执行完上面的命令后,使用下面的命令安装mongoose: npm install mongoose -

hexo+git+node.js详细教程

这里默认安装了git+github: 安装Hexo $ cd d:/hexo $ npm install hexo-cli -g $ hexo init blog $ cd blog $ npm install $ hexo g # 或者hexo generate $ hexo s # 或者hexo server,可以在http://localhost:4000访问 这里有必要提下Hexo常用的几个命令:hexo generate (hexo g) 生成静态文件,会在当前目录下生成一个新的叫做p

Vue框架下的node.js安装教程

Vue框架下的node.js安装教程 python服务器.php  ->aphche.java ->tomcat.   iis -->它是一个可以运行JAVASCRIPTR 的运行环境 -->它可以作为后端语言(websocket \ ) --强大的包管理工具npm,可以使用它安装插件 -->VUE框架是基于node.js平台运行的 --->它是基于chrome浏览器的V8引擎,运行速度快,性能高效 安装淘宝镜像:npm install cnpm -g --regist

Node.js模块化教程

Node.js模块化教程 下载安装node.js 创建项目结构 |-modules |-module1.js |-module2.js |-module3.js|-app.js|-package.json {   "name": "commonJS-node",   "version": "1.0.0" } 下载第三方模块 npm install uniq --save 模块化编码 module1.js module.expo