- 在 JavaScript 中,很多时候,需要避免使用 new 关键字。
函数提升:
提升(Hoisting)是 JavaScript 默认将当前作用域提升到前面去的的行为。提升应用在变量的声明与函数的声明。因此,函数可以在声明之前调用:
myFunction(5);
function myFunction(y) {
return y * y;
}
- 使用表达式定义函数时无法提升。
函数是对象:
在 JavaScript 中使用 typeof 操作符判断函数类型将返回 “function” 。但是JavaScript 函数描述为一个对象更加准确。JavaScript 函数有属性和方法。
arguments.length 属性返回函数调用过程接收到的参数个数:
toString() 方法将函数作为一个字符串返回:
- 函数定义作为对象的属性,称之为对象方法;
- 函数如果用于创建新的对象,称之为对象的构造函数;
函数调用
JavaScript 函数有 4 种调用方式。
this 关键字:
一般而言,在Javascript中,this指向函数执行时的当前对象。
- 注意 this 是保留关键字,不能修改 this 的值。
作为一个函数调用:
以上函数不属于任何对象。但是在 JavaScript 中它始终是默认的全局对象。在 HTML 中默认的全局对象是 HTML 页面本身,所以函数是属于 HTML 页面。
在浏览器中的页面对象是浏览器窗口(window 对象)。以上函数会自动变为 window 对象的函数。
- 这是调用 JavaScript 函数常用的方法,但不是良好的编程习惯,全局变量,方法或函数容易造成命名冲突的bug。
函数作为方法调用:
在 JavaScript 中可以将函数定义为对象的方法。
fullName 方法是一个函数。函数属于对象。 myObject 是函数的所有者。
this对象,拥有 JavaScript 代码。实例中 this 的值为 myObject 对象。
修改 fullName 方法并返回 this 值:
- 函数作为对象方法调用,会使得 this 的值成为对象本身。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
最后
全网独播-价值千万金融项目前端架构实战
从两道网易面试题-分析JavaScript底层机制
RESTful架构在Nodejs下的最佳实践
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
一线互联网企业如何初始化项目-做一个自己的vue-cli
思维无价,看我用Nodejs实现MVC
代码优雅的秘诀-用观察者模式深度解耦模块
前端高级实战,如何封装属于自己的JS库
VUE组件库级组件封装-高复用弹窗组件
库级组件封装-高复用弹窗组件