JavaScript(1) 基本语法、历史了解

JavaScript是一种轻量级、面向对象的脚本语言,由Netscape员工布兰登·艾奇在1995年开发,用于解决网页表单验证等问题。它包括ECMAScript语法、DOM和BOM等核心组成部分。JavaScript支持函数式编程,是单线程、非阻塞、异步的。在HTML中有内嵌、外链和行内三种引入方式,主要在浏览器环境中执行,通过JS引擎解析。此外,本文还介绍了变量、数据类型、函数、对象、数组等相关基础知识。
摘要由CSDN通过智能技术生成

什么是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函数中

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

reviers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值