木雷双雄 2017-01-16 09:19

1、预解释时相同的变量名和函数名会产生冲突。

那么,为什么会报错呢?这是就体现了预处理的无节操性。

1)函数声明和变量声明会置顶,但函数声明先于变量声明。

2)声明过的变量不需要重新声明

所以上面的代码等同于:

执行过程:

1)预处理时,函数fn首先被声明和定义

2)预处理时,变量fn被声明(不需重复声明)

3)执行时,var fn=100,函数fn被赋值100,所以执行fn(),即是100()。

2、预解释时,名字已经被声明的情况下,不需要重新声明,但需要重新的赋值

执行过程:

1)预处理时,第一个函数fn()被声明加定义,第二个函数fn()也声明(不需重复声明)加定义(需要重新定义)

2)执行时,三个执行函数fn()都输出为2

本文为头条号作者发布,不代表今日头条立场。

JS中预处理是一种好无节操的机制相关推荐

  1. Js中自定义对象四种方式

    Js中自定义对象四种方式 1 类似JAVA有参构造方式: 1.定义对象: function 对象(属性[age]){追加属性:如(this.age = age)[this代表当前对象的地址值的引用]追 ...

  2. js中继承的几种用法总结(apply,call,prototype)

    本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承 js中有三种继承方式 1.js原型(proto ...

  3. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出"欢迎下次光临" 在网页中弹出框输入1   网页输 ...

  4. js中数组的几种循环方式

    js中数组的几种循环方式 for循环最基本的循环方式,不多说.这种最基本的循环才是速度最快的,效率最高的. for(var i = 0;i<5;i++){console.log(i) } for ...

  5. js数组获取index_通过事例重温一下 JS 中 常见的15 种数组操作(备忘清单),收藏...

    数组是 JS 中广泛使用的数据结构.数组对象提供了大量有用的方法,如array. forEach().array.map()等来操作数组. 在实战中,我经常对数组可能的操作和相应采用哪个更好的方法不知 ...

  6. js中函数的三种定义方式、函数声明、函数同名重复、函数删除、

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数 在js中,函数本身属于对象的一种,因此可以定义.赋值,作为对象的属性或者成为其他函数的参数.函数名只是函数这个对象类的引用. 一.函 ...

  7. js中数组排序的五种方式

    下面主要介绍了数组排序的五种方式--sort()方法.选择排序.冒泡排序.插入排序和快速排序, 刚兴趣的朋友,可以往下看哦. 1.js中的sort()方法 基本思想:根据提供的排序规则,对数组元素进行 ...

  8. js基础语法(01)-JS中+号的三种含义

    01-JS中+号的三种含义 (1)数学意义上的相加 : 1 + 1 会得到: 2 (2) 数学意义上的正负号: +5 正数 作用:可以把string类型转换成number类型 (3)字符串的连接符:' ...

  9. JS中常见的几种继承

    1原型链继承 子类构造函数.prototype = 父类的实例; 子类构造函数.prototype.constructor = 子类构造函数 特点: 1.js继承是把父类的原型放到子类的原型链上,实例 ...

最新文章

  1. 1112. Stucked Keyboard (20)
  2. windows service自动启动相关设置
  3. 【工具使用系列】关于 MATLAB 液压机构,你需要知道的事
  4. chrome调试找不到 XXXX.min.map 原因及解决办法
  5. asp:HyperLink中 Eval要用string.Format绑定
  6. C#Winform调用wsdl接口webservice#http
  7. bat 批处理 常用命令和乱码问题
  8. 《剑指Offer》 二进制中1的个数
  9. Cisco正式停止MARS产品的销售
  10. HTML5 Canvas(画布)
  11. ubuntu 下 opencv 3. 的安装和运行
  12. React 深度学习:React Core
  13. 如何在网上隐藏自己的IP地址(转)
  14. 有IPV6无法登录IPV6网站*
  15. Python爬虫(1)
  16. 跨考西北工业大学计算机专硕,西工大计算机专硕400+上岸学长经验分享
  17. 2011 信义聚会记实
  18. 寻找技术中国——渴望不再被扼住喉咙!
  19. LoadLibrary()动态调用dll失败,GetLastError()返回126
  20. 《CrowdDetection:Detection in Crowded Scenes: One Proposal, Multiple Predictions》论文笔记

热门文章

  1. 阿里 P9大佬谈技术认知
  2. PAT乙级(Basic Level)练习题 星际密码
  3. C语言中常常被忽略的知识-特殊字符打印、多组输入输出等等问题。
  4. android 独立插件,最新反编译任何微信小程序,以及独立分包、插件的处理方式...
  5. ip被流量攻击怎么办
  6. 2022美赛E题题目及思路--林业固碳技术
  7. Spring+SpringMVC+MyBatis框架搭建-----详细教程
  8. 51单片机指令快速记忆方法总结
  9. DataParallel layers (multi GPU)
  10. 多线程面试题之【三线程按顺序交替打印ABC的方法】