什么是JAVASCRIPT?
JavaScript是一种轻量级、函数式编程、面向对象、弱类型、即时编译的一种脚本语言。
JavaScript也是单线程、非阻塞、异步并发的编程语言。
Javascript是1995年5月Netscape员工布兰登·艾奇在10天时间里(以Schem函数式语言的鼻祖,LISP语言的一种方言为蓝本)开发出来的编程语言。
起初叫做Mocha,在1995年9月改名为LiveScript。 并于1995年12月4日由Netscape公司和Sun公司联合发布。
JavaScript的出现是为了解决重量级编程语言的某些遗留问题,例如在用户填写表单验证时,若是忘记填了某些字段,并提交向后台服务器,再通过服务器验证返回提示信息,则显得过于反人类、而且令人抓狂,以当时的网速和网络费用来说,可以说是非常不好的用户体验。
JavaScript的整体结构借鉴了几门语言
【1】借鉴了C语言、Java语言基本语法。
【2】借鉴Java的数据类型、内存管理机制。数据结构。
【3】借鉴Schem、AWK语言,将函数提升为第一等公民,并引入闭包。
【4】借鉴Perl语言的,RegExp机制。
【5】字符串和数组处理方式借鉴了Python
【6】原型继承模型借鉴了Self语言(Smalltalk的一种变种)
JavaScript和Java并无太亲密的关系,从命名上来看可以理解为很像Java的一门语言,事实上也如此,在数据类型处理上等各方面非常相似,这样也是为了Java开发者能够快速上手这门语言。
网景公司迫于微软强大进攻步伐,为了抵抗微软,在1996年11月将JavaScript开源并提交给欧洲计算机制造商协会(ECMA),并由第39技术委员会(TC39)承担标准化一门通用\跨平台\厂商中立脚本语言的语法和语义化的任务.并在1997年6月发布第一版标准ECMA262.
核心
ECMAScript(核心语法)
提供了JS基本语法等标准
DOM 文档对象模型
提供了专门操作文档内容的API
BOM 浏览器对象模型
提供了专门操作浏览器窗口的API
JS在HTML中的三种引入方式
①内嵌式
初学时使用
②外链式
推荐的一种方式,实现结构样式相分离标准,同时可以使用defer延迟加载Script脚本
③行内式
通常绑定事件,但是一般尽量避免在元素内绑定,会污染DOM树
在引入式尽量放在Body结束标签前,避免还未加载完结构和样式时就加载了JS导致出现错误。
JS在何处执行?
浏览器环境为JS的宿主环境,提供了大量API
浏览器本身不会执行JS脚本,而是通过内置于浏览器的JS引擎(解析器)来逐行解析(转换为机器语言)执行。
JS天生支持JSON格式,无需额外部署和配置,[JSON是一种轻量级数据交换格式]
在DOS时代,文件的后缀名长度只支持三位,也就来来源于老的8.3文件格式,这种文件格式存在于老的16位Win95或Win98文件系统,这种文件格式扩展名只限于3位,文件名只限于8位。
常量声明 CONST
变量 VARIABLE
首先我们知道JS是弱类型语言,那么他的特点就是
【1】声明变量前无需指定值的数据类型
【2】在赋值时,正态决定变量的数据类型
【3】在运算时,根据JS需要动态转换数据类型
变量是什么?
变量是计算机在内存中开辟出一块用于存放数据的存储空间。
变量也可以理解为一个空盒子empty,用于存放什么,由你自己说了算。
变量的命名规则
【1】由字母\数字\下划线$ 组成,且不能以数字开头,区分大小写
【2】可以使用Camel/Pascal/匈牙利标记法等规则来命名
var用于声明变量
例如:var empty = null;
单一var模式
例如:var e1=5,r2=4,t3=10;
数据类型
什么是数据类型?
1、是指一组性质相同的值的集合,及定义在此集合上的一些操作的总称。 2、数据在内存中的存储格式,不同的操作需要不同数据类型的支持,不同的操作也需要不同的存储格式支持。 3、判断数据类型使用typeOf,返回值为字符串类型
基本数据类型
变量中的值可以直接保存在变量本地的数据类型。
数字型 Number
数字直接量,例如:2021,2,2。即为肉眼可见、不需计算就能够知道是多少的数量词。 在JavaScript中,由64位二进制进行存储。 计算机中无法精确到1/10,通过toFixed四舍五入。
字符串型 String
【JavaScript只玩字符串,不玩单个字符】,字符直接量:I'm reviewer,一串字符
字符串一旦创建无法改变,只能重新赋值。
布尔型 Boolean
True | False两种取值范围
【不能、也不需要new,内置方法极少,而且在需要的时候js会自动转型为Boolean类型值】
两种特殊数据类型
Null类型
【所有没有值的对象的默认值】表示不指代或引用任何对象地址,通常用于调用完一个较大内存对象后,主动释放对象内存。
undefined类型
在JS中表示空值
【1】变量声明为赋值时,数据默认为undefined
【2】在function函数中参数未传值
【3】在function函数中