JS第一课(对JavaScript语言历史的认知)

简介: JS第一课(对JavaScript语言历史的认知)

JS第一课(对JavaScript语言的认识)

JS的大纲内容

第一个问题:前端的三大核心你知道多少呀?

前端开发最主要需要掌握的三个知识点:Html,Css,Js;

  1. ◦html-简单易学,掌握常用的标签即可
  2. ◦css-属性规则较多,多做练习和项目
  3. ◦js-上手容易,但是精通很难。学会它需要几分钟,掌握它需要很多年


计算机语言        

前面我们已经回顾了HTML和CSS很多相关的知识:


◦在之前我们提到过,HTML是一种标记语言,CSS是一种样式语言


他们本身都是属于计算机语言,因为都在和计算机沟通交流:


◦在生活中两个人想要沟通,必然是通过某一种语言(中/英/粤)


◦计算机语言就是我们人和计算机进行交流要学习的语言


网页的三大组成部分的另外一个核心就是Javascript: Javascript必然也是一种计算机语言;


◦JavaScript就像是给我们的网页添加上了生命和灵魂


 编程语言(Java,C,C++,Js,Python...)


事实上,JavaScript我们可以对其有更加精准的说法:  编程语言.


我们先搞清楚计算机语言和编程语言的关系:


  计算机语言:  计算机语言(computer language)指用于人和计算机之间通讯的语言,是人于计算机之间传递信息的介质。但是其概念比通用的编程语言要更广泛。例如,HTML是标记语言,但并不是编程语言。


  编程语言:编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令,一种能够让程序员准确地定义计算机所需要使用数据的计算机语言,并精确地定义在不同情况下所应采取的行动(包括我们的分支语句,循环语句)


很抽象,编程语言具备的特点:


◦数据和数据结构({},[])


◦指令及流程控制(switch/if/for/while)


◦引用机制和重用机制


◦设计哲学

第二个问题:编程语言的发展历史我们来了解一下吗?


阶段一:机器语言


◦计算机的存储单元只有0和1两种状态,一次一串代码要让计算机“读懂”,这串代码只能由0和1组成。


◦像这种有数字0和1按照一定的规律组成的代码就叫机器码,也叫二进制编码。


◦一定长度的机器码组成了机器指令,用这些机器指令编码写的程序就称为机器语言。


优点:


◦代码能被计算机直接识别,不需要经过编译解析;


◦直接对硬件产生作用,程序的执行效率非常的搞;


缺点:


◦程序全是0和1的指令代码,可读性差,还容易出错;


◦不易编写(目前没有人这样开发)

阶段二:汇编语言


◦为了解决机器语言的缺陷,人们发明了另外一种语言--汇编语言。


◦这种语言用符号来代替很长的,难以记忆的0、1代码。(mov/push指令,经过汇编器,汇编代码再进一步转成0101)


优点:


◦像机器语言一样,可以直接访问、控制计算机的各种硬件设备;


◦占用内存少,执行速度快;


缺点:


◦第一,不同的机器有不同的汇编语言语法和编译器,代码缺乏可移植性


◦也就是说,一个程序只能在一种机器上运行,换到其他机器上可能就不能运行;


◦第二,符号非常多,难记


◦即使是完成简单的功能也需要大量的汇编语言代码,很容易产生bug,难于调试;


应用场景


◦操作系统内核、驱动程序、单片机程序

阶段三:高级语言


◦最好的编程语言应该是什么?自然语言;


◦而高级语言,就是接近自然语言,更符合人类的思维方式


◦跟和人交流的方式很相似,但大多数编程语言都是国外发明的,因为都是接近于英文的交流方式


优点:


◦简单、易用、易于理解,语法和结构类似于普通英文;


◦远离对硬件的直接操作,使得一般人经过学习之后都可以编程,而不用熟悉硬件知识;


◦一个程序还可以在不同的机器上运行,具有可移植性;


缺点:


◦程序不能直接被计算机识别,需要经编译器翻译成二级制指令后,才能运行到计算机上;


◦种类繁多:Javascript、C语言、c++、c#、java、objective-c、python等;

第三个问题:  如何去了解JavaScript的编程语言呢?

首先去了解JavaScript的历史过程:跟着PPT走吧:

 

 

 

 

JavaScript组成:

标题

 

JavaScript由谁来运行:

 认识JavaScript引擎

为什么需要JavaScript引擎呢?


◦我们前面说过,高级的编程语言都是需要转成最终的机器指令来执行的;


◦事实上我们编写的JavaScript无论你交给浏览器或者Node执行,最后都是需要被CPU执行的;


◦但是CPU只认识自己的指令集,实际上是机器语言,才能被CPU所执行;


◦所以我们需要JavaScript引擎帮助我们JavaScript代码翻译成CPU指令来执行;


比较常见的JavaScript引擎有哪些呢?


◦SpiderMonkey:第一款JavaScript引擎,由Brendan Eich开发(JavaScript作者)


◦Chakra:微软开发,用于IT浏览器;


◦JavaScriptCore:Webkit的JavaScript引擎,Apple公司开发;


◦V8:Goole开发的强大JavaScript引擎,也帮助Chrome从众多浏览器中脱颖而出


◦等等..


相关文章
|
1天前
|
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跨域问题解决
|
1月前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
1月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
50 4
|
1月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js:JavaScript世界的全能工具
Node.js:JavaScript世界的全能工具
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
30 0
|
自然语言处理 JavaScript 前端开发
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
160 0
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
|
JavaScript 前端开发
Javascript之旅——第七站:说说js的调试
原文:Javascript之旅——第七站:说说js的调试      最近比较吐槽,大家都知道,现在web前端相对几年前来说已经变得很重了,各种js框架,各种面对对象,而且项目多了,就会提取公共模块, 这些模块的UI展示都一样,不一样的就是后台逻辑,举个例子吧,我们做企业差旅的时候,通常都有一个成本中心的js公共模块,客户在预定机票 的时候来填写这个成本中心,而这种成本中心分布在online,offline和app等预定端,这样也是方便后期和客户公司进行月结算。
830 0