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

企业网站设计建设长春网站建设放电影怎么做

企业网站设计建设长春,网站建设放电影怎么做,提供网站备案信息,网站开发工程师年度总结在 JavaScript 中,函数是构建逻辑的核心单元。本文将通过 定义对比、核心特性 和 使用场景 三个维度,全面解析以下三种函数类型的区别: 函数声明(Function Declaration)函数表达式(Function Expression&am…

在 JavaScript 中,函数是构建逻辑的核心单元。本文将通过 定义对比核心特性使用场景 三个维度,全面解析以下三种函数类型的区别:

  1. 函数声明(Function Declaration)
  2. 函数表达式(Function Expression)
  3. 箭头函数(Arrow Function)

一、定义与语法对比

1. 函数声明

定义:直接通过 function 关键字声明函数。
特点:函数名会被提升到作用域顶部,允许“先调用后定义”。

// 函数声明
function add(a, b) {return a + b;
}

2. 函数表达式

定义:将函数赋值给变量(通常为匿名函数)。
特点:不会提升函数体,需先定义后使用。

// 函数表达式
const add = function(a, b) {return a + b;
};

3. 箭头函数

定义:ES6 引入的简洁函数语法,用 => 定义。
特点:无独立 this,适合简化回调函数。

// 箭头函数
const add = (a, b) => a + b;

二、核心特性对比

特性函数声明函数表达式箭头函数
变量提升✔️ 整个函数被提升❌ 仅变量声明提升(值为 undefined❌ 无提升
作用域函数作用域或全局作用域块级作用域(若用 const/let块级作用域(若用 const/let
this 绑定动态绑定(由调用方式决定)动态绑定继承外层 this(词法作用域)
构造函数能力✔️ 可用 new 创建实例✔️ 可用 new 创建实例❌ 不可用(无 prototype
arguments 对象✔️ 存在✔️ 存在❌ 不存在(需用剩余参数 ...args
匿名性❌ 必须命名✔️ 通常匿名(可命名)✔️ 匿名
语法简洁性标准语法标准语法可省略 return{}

三、典型使用场景

1. 函数声明

场景:定义全局工具函数、模块级功能。
示例:可提前调用的工具函数。

console.log(sum(1, 2)); // 3(函数提升生效)
function sum(a, b) {return a + b;
}

2. 函数表达式

场景:需要动态控制函数行为的场景、闭包封装。
示例:条件式定义函数。

let calculate;
if (useAdd) {calculate = function(a, b) { return a + b; };
} else {calculate = function(a, b) { return a - b; };
}

3. 箭头函数

场景:简短回调、需要继承外层 this 的场景(如 React/Vue 组件)。
示例:数组方法中的回调。

const numbers = [1, 2, 3];
const doubled = numbers.map(n => n * 2); // [2, 4, 6]

四、关键细节详解

1. this 绑定差异

函数声明/表达式this 由调用方式决定。

const obj = {value: 10,getValue: function() {console.log(this.value); // 10(指向 obj)}
};

箭头函数:继承定义时的外层 this

const obj = {value: 10,getValue: () => {console.log(this.value); // undefined(指向全局)}
};

2. 构造函数能力

函数声明/表达式:可创建实例。

function Person(name) {this.name = name;
}
const alice = new Person('Alice');

箭头函数:不可作为构造函数。

const Person = (name) => { this.name = name };
const alice = new Person('Alice'); // TypeError

3. 语法简化技巧

箭头函数:单行返回可省略 {}return

// 等效写法
const greet = name => `Hello, ${name}`;
const greet = (name) => { return `Hello, ${name}`; };

五、如何选择?

需要 this 动态绑定 → 函数声明/表达式
(如对象方法、事件处理器)
需要继承外层 this → 箭头函数
(如 React 类组件中的回调)
需要构造函数 → 函数声明/表达式
(如定义类)
需要简洁语法 → 箭头函数
(如数组方法、Promise 链)


六、总结

函数类型核心优势注意事项
函数声明提升特性,适合工具函数避免在块级作用域内使用(如 if
函数表达式灵活赋值,适合动态逻辑注意 const 不可重新赋值
箭头函数简洁安全,适合回调函数避免用于对象方法和构造函数

文章转载自:

http://49LyYO9f.sgxkq.cn
http://arMIfbOm.sgxkq.cn
http://qtHgdnrG.sgxkq.cn
http://8gUbBY7d.sgxkq.cn
http://WyUREObw.sgxkq.cn
http://WvMXJtsS.sgxkq.cn
http://vOWwGK9t.sgxkq.cn
http://icNnlOsm.sgxkq.cn
http://XLXHIOWL.sgxkq.cn
http://ggUP3F7h.sgxkq.cn
http://dhibb9GU.sgxkq.cn
http://Xh36Nz9S.sgxkq.cn
http://MwHwNNgh.sgxkq.cn
http://ZWqIpTSn.sgxkq.cn
http://en5I9hGJ.sgxkq.cn
http://OL9LmYh2.sgxkq.cn
http://NVXk4dZ2.sgxkq.cn
http://MyXNrkLG.sgxkq.cn
http://Ow9Vtedv.sgxkq.cn
http://gxuLi5Cm.sgxkq.cn
http://YBEAFlrr.sgxkq.cn
http://6QAfY7hT.sgxkq.cn
http://i1rPLES4.sgxkq.cn
http://cn5h3Dqb.sgxkq.cn
http://oiBwYip2.sgxkq.cn
http://YH9WpZ9f.sgxkq.cn
http://UGR5aLp3.sgxkq.cn
http://57TSPVDO.sgxkq.cn
http://lhAAT31N.sgxkq.cn
http://53e1PLm9.sgxkq.cn
http://www.dtcms.com/wzjs/724959.html

相关文章:

  • 商城网站模板免费下载静态网站制作wordpress模版
  • html网站建设代码vps网站建站助手
  • 进入城乡建设网站怎么竣工备案望野千枝叶
  • 网站设计教学广告投放软件
  • 南昌品牌网站建设个人怎样建设网站
  • 成品短视频网站源码搭建柳市网站托管
  • 阜阳市城乡建设网站wordpress html主页
  • 免费网站入口在哪可以做网站的网络
  • 建网站安全发生太多重定位wordpress
  • 鞍山网站页设计制作定制网站需要多少钱
  • 网站建设 业务走下坡门户网站维护怎么做
  • 提供常州网站推广网站推广方案怎么写的
  • 海纳网站建设优化好的网站
  • 泗洪网站建设公司网站布局结构有哪些
  • 怎么做网站备案域名网站有哪些
  • 常州网站推广软件厂家动画制作软件免费
  • 做网站的问卷调查广州网站排名推广公司
  • 两学一做知识问答网站施工企业会计制度2022
  • 建设银行网站首页打不开天津网站建设托管
  • 免费安全网站认证wordpress 自己做云盘
  • 优秀定制网站建设案例wordpress注册邮件服务器
  • 济南建网站代理好项目
  • wengdo网站开发创意设计网页版面布局设计步骤
  • 自己买个服务器做网站深圳网站建设799元起全包域名
  • 网站建设与运营的课程总结专业舆情公关公司
  • diy网站建设源码购物网站功能模块设计
  • 建设摩托车公司官方网站网站被百度k
  • 登录域名管理网站南宁企业建站系统模板
  • 做网站自己装服务器wordpress 企业网站制作
  • 如果一个网站的域名是wordpress建立商业网站