好久没有更新博客了,^_^写写博客吧!下面是我总结的一些面试题,希望对大家有所帮助

(1)题目如下:

alert(a)
  var a=1
  function a(){
    alert(a)
 }

好多人肯定会觉得输出的结果是undefined,那你就错了,因为function也要声明提前的所以输出的结果应该是::

ƒ a(){
alert(a)
}

更有意思的来了如果我把上面的题改为如下:

alert(a)
function a(){
 alert(a)
}
var a=1

输出的结果应该是::

ƒ a(){
alert(a)
}

注意:***函数提升优先级比变量提升要高,且不会被变量声明覆盖,但是会被变量赋值覆盖***

如果下面

alert(a)
function a(){
 alert(a)
}
var a=1
alert(a)

这个的输出结果为::

第一次输出::
ƒ a(){
alert(a)
}

第二次输出::
1

(2)题目如下:

var foo = "function";

var foo;//它只是定义,全不会覆盖变量

alert(foo);//所以返回 function
 
(3)题目如下:
var getName = function(){
    console.log(2);
}
function getName (){
    console.log(1);
}
getName();
 
输出结果:
2
 
如果我稍作改动
foo(); 
var foo;
function foo(){
 console.log(1);
}
foo=function(){
 console.log(2);
}
其输出的结果::
1
处理过程为:
function foo(){
console.log(1);
}
var foo; //并不执行,重复的声明
foo();
foo=function(){
console.log(2);
}
***函数会首先被提升,然后才是变量***

最新文章

  1. Maven远程仓库的配置
  2. IE6 跟随滚动解决方法
  3. js创建元素
  4. bigDecimal 使用小结
  5. SQLite: sqlite_master
  6. FLAG_ACTIVITY_NEW_TASK和SingleInstance的设计思路(多task的应用)
  7. IE 弹出提示:由于无法验证发布者,所以Windows 已经阻止此软件
  8. 【数位DP】 HDU 4722 Good Numbers
  9. 一段神奇的代码-关于PHP字符变量奇怪现象的解释
  10. 2017.3.3自测j纠错题.
  11. 在Ubuntu中设置DNS域名服务器端
  12. C#标识符与关键字
  13. Windows下用cmd命令实例讲解yii2.0 的控制台定时任务
  14. 《DSP using MATLAB》Problem 5.22
  15. 关于meshgrid和numpy.c_以及numpy.r_
  16. centos6.5最小化安装之后装图形化界面
  17. a标签的四个伪类
  18. nowcoder 203J Graph Coloring I(dfs)
  19. c++的c风格字符串函数的实现
  20. 【点分治】【路径小于等于k的条数】【路径恰好等于k是否存在】

热门文章

  1. linux centos7 安装mysql-5.7.17教程(图解)
  2. 基于Spark和Tensorflow构建DCN模型进行CTR预测
  3. SpringBoot中使用spring-data-jpa 数据库操作(上)
  4. 命令搜索命令(whereis、which)
  5. foxmail地址簿导入thunderbird的乱码问题 (转载)
  6. 学习css盒子模型
  7. F - System Overload(约瑟夫环变形)
  8. sublime 3 最新注册码
  9. P1823 音乐会的等待
  10. django.db.utils.OperationalError: (1050, "Table '表名' already exists)解决方法