复习JavaScript

简介: 主要复习的内容:1、变量作用域,函数提升(function hoisting)和执行环境对象1.1:变量作用域:如果在函数中声明局部变量的时候,忘了写var关键字,则创建的是全局变量1.2:提升1.3:执行环境对象2、解释变量作用域链(scope chain)以及为什么要使用他们档在查找变量的定义时,JavaScript引擎首先在局部执行环境对象上查找。

主要复习的内容:

1、变量作用域,函数提升(function hoisting)和执行环境对象

1.1:变量作用域:如果在函数中声明局部变量的时候,忘了写var关键字,则创建的是全局变量

1.2:提升

1.3:执行环境对象

2、解释变量作用域链(scope chain)以及为什么要使用他们

档在查找变量的定义时,JavaScript引擎首先在局部执行环境对象上查找。如果没有定义,则跳出作用域链,到创建它的执行环境中去,并且在该执行环境对象中查找变量的定义,以此类推,指导找到定义或到达全局作用域为止。

3、使用原型(prototype)来创建对象

JavaScript对象是基于原型的(prototype-based)的,而很多其他语言都是基于类的(class-based)对象。

例子:

基于类:

public class Person(){
	public int id;
	public String name;
	public String sex;
	
	public Person(){}
	public Person(int id,String name,String sex){
		this.id = id;
		this.name = name;
		this.sex = sex;
	}
}
Person zhangsan = new Person(1,"张三","男");

过程:
1、创建类
2、定义类的构造函数
3、实例化对象

基于原型:

var proto = {
	id : 0,
	name : '',
	sex : ''
};
var person = function(id,name,sex){
	this.id = id;
	this.name = name;
	this.sex = sex;
}
person.prototype = proto;
var zhagnsan = new person(1,'张三','男');

过程:
1、定义原型对象
2、定义对象的构造函数
3、将构造函数关联到原型
4、实例化对象


4、编写自执行匿名函数

一个非常简单的例子:

(function(){
	// do something
	console.log('something...');
})();


没有去调用,但是执行了。这里只是个简单的例子,关于自执行匿名函数有很多知识点。

5、使用模块模式和私有变量

以上是一个简单的模块化例子,把计算功能的模块都放在了一起,在需要的时候进行调用。

6、探索闭包的乐趣和好处

闭包

目录
相关文章
|
9天前
|
人工智能 运维 安全
|
7天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
701 23
|
8天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
人工智能 数据可视化 数据挖掘
Quick BI 体验&征文有奖!
瓴羊生态推出Quick BI 征文激励计划,鼓励用户分享数据分析实践经验与技术洞察,征集高质量原创文章。内容围绕AI功能体验与BI案例实践,设季奖、年奖及参与奖,优秀作者可获现金奖励、产品内测资格及官方认证形象。投稿截止至2026年3月31日。
Quick BI 体验&征文有奖!