美文网首页
2017-08-14读书笔记(面试题学习)

2017-08-14读书笔记(面试题学习)

作者: shaocx | 来源:发表于2017-08-14 23:57 被阅读0次

鉴于我可能是明年年前年后开始跳槽,所以觉得可以先看看一些好玩的面试题目。

今天看的是这篇 让我印象深刻的javascript面试题

预解析

里面一开始先给了两个题目:

console.log(a)
a();
var a=3;
function a(){
    console.log(10)
}   
console.log(a)
a=6;
a();  

以及

alert(a)
a();
var a=3;
var a=function(){
    alert(10)
}   
alert(a)
a=6;
a(); 

仔细比较之后可以发现,这两者的区别在于函数的命名方式不一样,这也会造成两者的结果有不同。

知识点如下:

  1. 函数声明优先于变量声明。
  2. 预解析是把带有var和function关键字的事先声明,但不会赋值。

重新再来看一下,主要的点就是函数声明优先于变量声明,以及 function a (){} 时,它会完整声明在作用域顶部。

所以最后结果分别是

line1. 
function a(){
    console.log(10)
}
line2.
10
line7.
3
line9.
报错 VM146:9 Uncaught TypeError: a is not a function
line1. 
undefined
line2.
报错 VM146:2 Uncaught TypeError: a is not a function

其实第二段接下去也已经没有往下探究的必要了,后面的如果没有报错,alert(a) 的结果就是函数本身然后第9行再次报错。这个就不详述了。

在文中的2-2中,讲的其实是以下知识点:

  1. 变量只在作用域中提前
  2. 在函数体内,参数的优先级高于变量
  3. 在函数中修改外界变量时,如果函数有参数同名,修改的是参数,不是外界变量。

之后的一些都很零散,没什么特别要记录的东西,友情提示,有时间的话看一下评论,里面有很多东西,以及一些讨论,如果你觉得上述的对你有帮助的话,评论还是值得一看的。

相关文章

  • 2017-08-14读书笔记(面试题学习)

    鉴于我可能是明年年前年后开始跳槽,所以觉得可以先看看一些好玩的面试题目。 今天看的是这篇 让我印象深刻的javas...

  • 关于互联网下高效学习方法的清单[转]

    关于互联网下高效学习方法的清单[转] 原创 2017-08-14 田志刚 知识管理中心KMCenter 引言 你应...

  • 深入理解虚拟机之虚拟机类加载机制

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见相关面试题总结 本节常见面试题(推荐带着...

  • 2018-05-11

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见相关面试题总结 本节常见面试题(推荐带着...

  • 面试相关资料

    2018 iOS面试题系列2019 iOS 面试题大全(补充完整版)面试题学习交流常见的一些面试题

  • 深入理解虚拟机之类文件结构

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结 本节常见面试题(推荐带着问题...

  • 深入理解虚拟机之虚拟机性能监控和故障处理工具

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结 本节常见面试题(推荐带着问题...

  • 2018-05-11

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结本节常见面试题(推荐带着问题阅...

  • 2018-05-11

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结本节常见面试题(推荐带着问题阅...

  • 只有努力配得上梦想,梦想才不会辜负努力

    只有努力配得上梦想,梦想才不会辜负努力 2017-08-14静静述说...

网友评论

      本文标题:2017-08-14读书笔记(面试题学习)

      本文链接:https://www.haomeiwen.com/subject/pocprxtx.html