• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 浅谈js中的变量名和函数名重名

浅谈js中的变量名和函数名重名

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了浅谈二次函数,浅谈三角函数,浅谈函数的一致连续性,浅谈一次函数,浅谈中国酒文化论文等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

今天骚凯问了一道变量名冲突的题目,感觉很有意思,顺便也复习一下预解析的一些知识,有不对的地方忘前辈大神指正,题目是这样的:

var a=100;
function a(){
  console.log(a);
}
a();

</div>

这个串代码执行完会报错 : a is not a function

问题来了,为什么会报这个错误呢? 这里涉及到函数和变量的预解析:

1)函数声明会置顶

2)变量声明也会置顶

3)函数声明比变量声明更置顶:(函数在变量上面)

4)变量和赋值语句一起书写,在js引擎解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置

5)声明过的变量不会重复声明

知道以上的规则,上面的代码等同于 :

var a=function (){
  console.log(a);
}
var a=100;
a();

</div>

相当于给a重新赋值了,所以会报错。

以上这篇浅谈js中的变量名和函数名重名就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
  • 浅谈js中的变量名和函数名重名
  • 浅谈js中同名函数和同名变量的执行问题

相关文章

  • 2017-05-11javaScript 逻辑运算符使用技巧整理
  • 2017-05-11jQuery弹出层插件popShow(改进版)用法示例
  • 2017-05-11快速使用node.js进行web开发详解
  • 2017-05-11JavaScript实现反转字符串的方法详解
  • 2017-05-11yii form 表单提交之前JS在提交按钮的验证方法
  • 2017-05-11H5图片压缩与上传实例
  • 2017-05-11JS实现HTML标签转义及反转义
  • 2017-05-11jQuery中map函数的两种方式
  • 2017-05-11Angular2使用Guard和Resolve进行验证和权限控制
  • 2017-05-11Base64(二进制)图片编码解析及在各种浏览器的兼容性处理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序 下拉列表的实现实例代码
    • AngularJS的脏检查深入分析
    • 为JQuery EasyUI 表单组件增加焦点切换功能的方法
    • 微信小程序侧边栏滑动特效(左右滑动)
    • jQuery判断邮箱格式对错实例代码讲解
    • 完美实现js选项卡切换效果(一)
    • tab栏切换原理
    • Vuex之理解state的用法实例
    • 深入理解Javascript箭头函数中的this
    • 微信小程序(三):网络请求

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有