《JS原理、方法与实践》- Javascript简介

简介: 《JS原理、方法与实践》- Javascript简介

  学习一门计算机语言,先要弄清楚它是什么,学习的目的是什么,如何实现的,然后再又目标地进行系统的学习。

那它是什么呢?

## Jsvascript的历史:

* javascript最初由网景(Netscape)公司于1995年开发的一种脚本语言,用于给HTML网页增加动态功能。【布兰登·艾奇(Brendan Eich)】、【Livescript->Javascript】

* 1996年11月,望京公司将Javascript提交给ECMA(欧洲计算机制造商协会)进行标准话,最后又网景、微软和Borland等公司组成的工作组指定了统一的标准—ECMA-262,命名为ECMAScript(简称ES)。【IE3-Jscript】

* 与ES对应的ECMA-262标准从1997年发布第一个版本到现在一共发布了6个版本。第6版于2015年6月份发布,正式命名为ES2015,因为是第6版,所以也可以称为ES6。

## Javascript特点

#### Javascript是一种面向对象的语言

首先我们要明白什么是对象,在学习C#或JAVA时,常用的一句话就是:万物皆对象。面向对象是一种思想,面向对象,能让你写出质量高,效率高,易维护,易扩展等更优质的代码。Javascript里面也可以使用面向对象的思想进行编程。

JS中的对象跟C#或JAVA等面向对象语言中的对象并不一样,它们有着 本质上的区别。其他面向对象的语言都有类的概念,而Javascript中虽有对象,但是 没有类。

#### Javascript是一种脚本语言

脚本语言的功能是修改或者称为“操作”,而不是创造。如果没有浏览器,Jsavscript自己是创造不出页面的。脚本语言是一堆命令的集合,一般来说会有一个解释器,由其负责从头到尾一条一条语言进行解释,然后根据解释的语句含义进行操作。Javascript就是一种比较复杂的脚本语言。

#### Javascript是一种事件驱动的语言

事件驱动是指Javascript引擎并不是再看到带啊之后就会立即执行,而是在某个事件发生之后才会执行。事件驱动包含三个关键内容:事件、事主和处理方法。

## Javascript结构

Javascript的核心是对象,每个对象都可以包含0个或多个属性。对象的属性又两种类型:基础类型(直接量)和对象类型。基础类型的属性不可以再包含属性,而对象类型的属性还可以再包含自己的属性。

**Javascript中的对象可以分为function和object两种类型(注意都是小写)**

javascript中的object类型对象是使用function类型对象创建的。javascript中经常使用的String、Array和Date等对象其实都是function类型的对象,就连Object对象也是function类型的对象。

**Javascript的本质就是一个大的对象,这个对象就是Global Object,它是由宿主环境(例如浏览器)创建出来的, 在浏览器中就是window对象,其他的对象都是它的属性,或者属性的属性**

## Javascript的内存模型

Javascript本质是一个对象,一个对象可以包含多个属性,对象的属性可以分为直接量和对象两种类型,而对象又分为object对象和function对象两种类型。

直接量和对象两种类型的属性在内存中的保存方式不同。直接量是直接用两块内存分别保存属性名和属性值,而对象需要三块内存,分别保存属性名、属性地址和属性内容,如下图:

![直接量属性和对象属性的内存模型](https://upload-images.jianshu.io/upload_images/2789632-b68fbebd9315223c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

目录
相关文章
|
1月前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
135 52
|
3天前
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
1月前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
18天前
|
存储 网络架构
Next.js 实战 (四):i18n 国际化的最优方案实践
这篇文章介绍了Next.js国际化方案,作者对比了网上常见的方案并提出了自己的需求:不破坏应用程序的目录结构和路由。文章推荐使用next-intl库来实现国际化,并提供了详细的安装步骤和代码示例。作者实现了国际化切换时不改变路由,并把当前语言的key存储到浏览器cookie中,使得刷新浏览器后语言不会失效。最后,文章总结了这种国际化方案的优势,并提供Github仓库链接供读者参考。
|
21天前
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
46 9
|
1月前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
1月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
50 5
|
1月前
|
缓存 监控 JavaScript
Vue.js 框架下的性能优化策略与实践
Vue.js 框架下的性能优化策略与实践
|
1月前
|
缓存 负载均衡 JavaScript
构建高效后端服务:Node.js与Express框架实践
在数字化时代的浪潮中,后端服务的重要性不言而喻。本文将通过深入浅出的方式介绍如何利用Node.js及其强大的Express框架来搭建一个高效的后端服务。我们将从零开始,逐步深入,不仅涉及基础的代码编写,更会探讨如何优化性能和处理高并发场景。无论你是后端新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
1月前
|
缓存 前端开发 JavaScript
JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式
本文深入解析了JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式(Hash路由和History路由)、优点及挑战,并通过实际案例分析,帮助开发者更好地理解和应用这一关键技术,提升用户体验。
75 1