温故而知新之- Javascript函数声明

举报
余人杰 发表于 2020/09/06 23:56:12 2020/09/06
【摘要】 我们在开发一个需求时,会构建多个功能来配合完成,为了防止重复代码的书写,我们把完成某一个功能的语句归成一块,这一块代码,我们可以美其名曰函数。

小白必问:啥是函数,怎样理解?

我们在开发一个需求时,会构建多个功能来配合完成,为了防止重复代码的书写,我们把完成某一个功能的语句归成一块,这一块代码,我们可以美其名曰函数。


函数有什么用?

我们把重复的功能代码封装成函数模块,实现代码的可复用性和可阅读性。


函数的声明与定义

我们可以使用Function类创建实例作为函数对象。举例:

let hw= new Function("id", "console.log(id)");
hw("hw91364016"); // hw91364016


定义函数的标准语法是使用函数声明,举例:

function hw(id) {
	return '我的id是:' + id;
}
console.log(hw('hw91364016')); // 我的id是:hw91364016


对象字面量属性函数,举例:

let info = {
  id: null,
  getId: function (id) {
  	return this.id;
  },
  // 对象字面量属性函数简写形式
  setId(value) {
  	this.id = value;
  }
}
info.setId("hw91364016");
console.log(info.getId()); // hw91364016


还有一种是匿名函数

怎么理解?

函数也是是对象,那么我们可利用赋值来指向函数对象的指针,当然,指针也可传递给其他的变量,需要注意,后面要以分号;结束。举个例子

let info = function(id) {
  return ++id;
};

console.log(info instanceof Object); //true

let newInfo = info;
console.log(newInfo(3));


立即执行函数

顾名思义:在函数定义时就立即执行了。

有什么作用?

在严格模式下,可以定义私有作用域来防止污染全局作用域。例如:

"use strict";
(function () {
    var id = 'hw91364016';
})();
console.log(id); //id is not defined


函数扩展-函数的提升

可以提升函数声明,优先级高于var变量提升。

console.log(id()); // hw91364016
function id() {
    return 'hw91364016';
}



心得:这次复习知识点有点多,虽然讲的都是函数的基础知识,但是非常重要,在项目中,控制好函数的把玩,可以大大的提高我们的编码效率及质量。学无止境,有你我同行,加油。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。