当前位置: 首页 > news >正文

【笔记】js高级程序设计:函数(变量)声明提升

js中创建函数的两种方法:

1 //一、函数声明
2 function foo(){
3     
4 }
//二、函数表达式
var foo=function(){

}

虽然这两种方法都创建了一个foo的函数,但他们之间还是有区别的,因为在JavaScript中,有一种函数(变量)声明提升(hoisting)机制,即函数或者变量无论在哪里声明,总是被提升到作用域的最前面

1 alert(hello);
2 function hello(){
3     return "hello!";
4 }//函数声明被提升到最上面,所以弹出"hello!"

5 alert(hello); 6 var hello=function(){ 7 return "hello!"; 8 }//使用var声明的变量hello也被提升到上面,只是被赋值undefined,所以弹出undefined

 

转载于:https://www.cnblogs.com/hg0209/p/5388841.html

相关文章:

  • Linux操作系统安装ELK stack日志管理系统--(2)Elasticsearch与Kibana的安装与使用以及和Logstash的连接
  • IOS异步获取数据并刷新界面dispatch_async的使用方法
  • Redis实战和核心原理详解(6)使用Spring Session和Redis解决分布式Session跨域共享问题
  • Redis实战和核心原理详解(7)Spring Session解决分布式Session问题的实现原理
  • Redis实战和核心原理详解(2)Redis简介以及和其他缓存数据库的区别
  • 【vijos1642】班长的任务
  • Redis实战和核心原理详解(3)Redis常见的5种不同的数据类型详解
  • 类与类之间的几种关系
  • Redis实战和核心原理详解(8)使用快照RDB和AOF将Redis数据持久化到硬盘中
  • 复利(结对2.0)
  • 为什么要重写hashCode()方法和equals()方法以及如何进行重写
  • 程序员下一门要学的编程语言Swift
  • Jenkins部署Maven多环境项目(dev、beta、prod)的参数设置
  • MATLAB地图工具箱学习总结(一)从地图投影说起
  • MySQL存储引擎MyISAM与InnoDB区别总结整理
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【刷算法】从上往下打印二叉树
  • canvas 五子棋游戏
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • 阿里研究院入选中国企业智库系统影响力榜
  • 高度不固定时垂直居中
  • 基于游标的分页接口实现
  • 前端面试之CSS3新特性
  • 前端面试之闭包
  • 原生Ajax
  • 【干货分享】dos命令大全
  • const的用法,特别是用在函数前面与后面的区别
  • ​io --- 处理流的核心工具​
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #pragma pack(1)
  • (10)STL算法之搜索(二) 二分查找
  • (70min)字节暑假实习二面(已挂)
  • (pytorch进阶之路)扩散概率模型
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (已解决)什么是vue导航守卫
  • (转)关于多人操作数据的处理策略
  • (转)视频码率,帧率和分辨率的联系与区别
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .naturalWidth 和naturalHeight属性,
  • .NET 表达式计算:Expression Evaluator
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net 验证控件和javaScript的冲突问题
  • .net 怎么循环得到数组里的值_关于js数组
  • .sh
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Android]How to use FFmpeg to decode Android f...
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [BZOJ1877][SDOI2009]晨跑[最大流+费用流]
  • [C#]C#学习笔记-CIL和动态程序集
  • [Docker]六.Docker自动部署nodejs以及golang项目