JavaScript核心(2)

发布于:2022-12-26 ⋅ 阅读:(2753) ⋅ 点赞:(1)

文章目录

  • 三、JS注释的两种写法
  • 四、JS:输出语句与输入语句
  • 五、JS代码执行原理-计算机组成


前言

JS核心语法是对JS基础语法的一个补充说明, 本质上还是对ECMAScript语法的一个延伸和进阶。

复习JavaScript:作用、组成、写法、注释、语句、执行原理...


一、关于JavaScript

问题1.为什么要学习JavaScript?

一个前端网页主要由三门语言组成,他们之间是缺一不可的关系。

  • HTML:确定网页的结构

  • CSS:确定网页的样式

  • JavaScript:确定网页的行为(交互)

众所周知,在前端开发中一个网页的源代码主要由三部分组成(HTML、CSS、JavaScript),其中 HTML确定网页的结构,CSS确定网页的样式,而 JavaScript则主要负责网页的行为(动态效果,交互事件等)。
总结:因为前端网页由三部分组成,HTML、CSS、JavaScript。

问题3:JavaScript三个组成部分?

ECMAScript-JavaScript的核心

  • ECMAScript定义了JavaScript的语言规范。

  • JavaScript的核心:描述了语言的基本语法数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关。

DOM-文档对象模型

  • 一套操作页面元素的API。

  • DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作。

BOM-浏览器对象模型。

  • 一套操作浏览器功能的API。

  •  通过BOM 可以操作浏览器窗口,比如:弹出框,控制浏览器跳转、获取分辨率等。


二、JS代码的三种写法(写法位置与css一致)

注意: 

  • 当一个HTML文件存在多种写法时,是自上而下解析的。
  • script标签没有src属性表示内联样式,当script标签有src属性表示外联样式,外联样式的JS代码只能写在js文件中。


三、JS注释的两种写法

1.作用:

  • 1.理清思路,方便自己以后阅读代码;

  • 2.规范编程,方便以后别人接手代码便于维护。

2.两种写法:

  • // 注释内容:单行注释:注释内容只能是一行,适用于注释内容较少。

       vscode快捷键CTRL+/ 

  • /*注释内容 */:多行注释:注释内容可以是多行,适用于注释内容较多,比如一行写不下。

      vscode快捷键ALT+SHIFT+A


四、JS:输出语句与输入语句

1.输入语句:

1)在网页弹出一个输入框,让用户输入数据------>prompt(“前端薪资是多少呀?”);

2)在网页弹出一个确定框,让用户输入确定/取消。----->confirm("你确定你已经成年了吗?");

2.输出语句:

1)在网页弹出一个提示框,输出数据,通常用于调试用户----->alert('hello world');

2)在控制台打印某个数据。(这个写法不是给用户看的,而是给程序员自己调试看到)----->console.log("颖火虫呀!");

3)将数据显示到网页,相当于给boby添加内容。------>document.write(嘻嘻~,考试都过。);


五、JS代码执行原理

1.计算机组成

1)软件

  • 应用软件:浏览器(chrome/ie/firefox)、QQ、SublimeWordwebstorm

  • ·系统软件:windows,Linux,unix,osx,ios,android

2)硬件

  • 三大件:CPU,内存硬盘

  • 输入设备:鼠标,键盘,摄像头等

  • 输出设备:显示器,打印机,投影仪等

2.计算机运行的原理(程序运行原理)

  • 1.计算机将存储在硬盘中的html文件读取到内存中;

  • 2.浏收器内核编译器开始编译代码(cpu只能外理二进制数据,需要将我们写的代码转成二进制);

  • 3.CPU处理与计算

  • 4.CPU将我们代码在运行时产生的数据保存到内存中。


JavaScrip——数据类型

文章目录

  • 前言
  • 一、数据类型
  • 二、栈类型与堆类型
  • 三、检测数据类型
  • 四、数据类型转换
  •             1.转化为布尔类型
  •             2.隐式转换
  • 五、正则表达式语法(了解)
  •             1.什么是正则表达式
  •             2.正则表达式的作用
  •             3.如何使用正则表达式
  •             4.正则表达式特点
  •             5.学习目标
  •             6.正则在项目中的实际使用
  •             7.元字符与原义符
  •             8.字符类
  •            9.反向类(负向类): ^
  •           10.范围类
  • 六、操作符

  •        1.等于操作符
  •        2.全等操作符


前言

 JavaScript定义了基本数据类型和复杂数据类型,可以使用typeof关键字来判断一个变量的类型。


一、数据类型

1.为什么需要有数据类型?

每一种编程语言都有自己的语法规则,在处理数据的时候,也会有自己的规则,不是任何数据都可以处理的。  

2.什么是数据类型?

JS编译器在解析代码的时候,会产生各种不同的数据。 而不同的数据'运算'与'存储'方式都不同, 计算机需要对这些数据进行分类,称之为数据类型

3.数据类型分类(暂不详解)


 二、栈类型与堆类型

  • 在js中基本类型在内存中占据空间、大小固定,他们的值保存在栈(stack)空间。
  • 引用类型占据空间,大小固定,栈内存中存放地址指向堆(heap)内存中的对象。


三.typeof-检查数据类型

语法: typeof 数据

 


四、数据类型转换

1.转化为布尔类型

语法:Boolean(数据)

(1)有7种数据结果会得到false:

  • 0
  • -0
  • NaN 
  • ' '
  • undefind
  • null
  • false

(2)除flase 7种之外的一切数据结果为true

2. 隐式转换

 当运算符两边的 ’数据类型不一致‘ 的时候,编译器会转成一致后运算:

(1)转换数字: 算术运算符 + - * / %

(2)转换字符串: 连接符+ (+号两边只要有一边是字符串,此时+就是连接符)

(3)转换布尔: 逻辑非 !


五、正则表达式语法(了解) 

1.什么是正则表达式

  • 正则表达式是一个用于对字符串实现逻辑匹配运算对象

     a.正则是内置对象 : 存储一些属性和方法

    b.表达式:对字符串 进行逻辑匹配 运算

  • 正则表达式:RegExp(regular expression)是ECMAScript内置对象

2.正则表达式的作用

  • 按照某种规则来匹配字符串,而正则表达式就是制定这个规则

  • 对 字符串进行逻辑匹配 运算

3.如何使用正则表达式

  • (1)创建正则表达式对象

  • (2)开始匹配使用test()方法

4.正则表达式特点

  • 对初学者极度的不友好

  • 非常的晦涩难懂

5.学习目标

  • 1.可以使用正则表达式验证常用表单文本(手机、邮箱、qq、座机、姓名)

  • 2.了解正则表达式在开发中的一些应用场景

6.正则在项目中的实际使用

  • 在手机号的校验规则中添加一个自定义校验
  • 正则表达式使用流程 :

  • (1)调用构造函数创建正则对象:newRegExp(/正则表达式/);

  • (2)调用test方法,对字符串进行运算---->   true:符合规则    false:不符合

7.元字符与原义符

一个正则表达式主要由两部分组成
(1)原义文本字符 : 就是字符本身的含义,千万别想多了
(2)元字符: 改变了字符串本身的含义 (相当于js的关键字):

.   \  |   []   {}   ()   +   ?   *   $   ^

例如:

/abc/: 含义,就是检查字符串中有没有abc。 别想多了,不是说有a或者有b或者有c,也不是说有a和b和c。

8.字符类

(1)一般情况下,正则表达式的一个字符就是对于字符串的一个字符,这样处理比较方便
例如: /abc/ : 含义就是匹配字符串'abc’

(2)有时候我们并不想只匹配一个字符,而是想要匹配符合某一类特征的字符,这时就可以使用字符类

(3)创建简单字符类:: []

  • 这里类指的是符合某些特征的对象,只是一个泛指,而不是指某个字符

  • 例如正则表达式: /[abc]/:把字符a或b或c归为一类,可以匹配这类的字符

  • /[abc1/ :含义是,匹配字符串中只要有 a或者b或者c任何一个即可

9.反向类(负向类): ^

  • 反向类意思是不属于某类的内容

  • 例如正则表达式:[^abc] :含意是,不是字符a或b或c的内容

  • 只要有任何一个字符不是a或者b或者c,就满足条件

10.范围类

(1)需求:使用字符类匹配数字
(2)正则表达式:[0123456789] :含义是,有任何数字的内容:
         弊端:表达式冗余,假如我要匹配字母,那就要写 [abcdefg...........xyz],非常麻烦(3)如何解决冗余问题?

         使用范围类

(4)范围类:

例如:

  • [0-9] 含义是, 0-9之间的任意字符

  • [a-z]:含义是,a-z之间的任意字符

  • [A-Z]:含义是,A-Z之间的任意字符

注意点:

  • 范围类是一个闭区间, [a-z],这个范围包含字符a和z本身 

  • 在[]内部是可以连写的,[0-9a-zA-Z] :含义是,包含数字0-9,或者a-z,或者A-Z任意

  • 右边一定要大于左边,例如「5-8],这是合法的表示5-8之间的数字,不能写[8-5]


六、操作符

1.等于操作符

(1)等于操作符用两个等于号(==)表示,如果操作数相等,则会返回 true

(2)前面文章,我们提到在JavaScript中存在隐式转换。等于操作符(==)在比较中会先进行类型转换再确定操作数是否相等

(3)遵循以下规则:

  • 如果任一操作数是布尔值,则将其转换为数值再比较是否相等

  • 如果一个操作数是字符串,另一个操作数是数值,则尝试将字符串转换为数值,再比较是否相等

 

2.全等操作符

(1)全等操作符由3个等于号(===)表示,只有两个操作数在不转换的前提下相等才返回true。即类型相同,值也需相同。

(2)undefined null 与自身严格相等。


 

总结

以上就是今天要讲的内容,本文仅仅简单介绍了JavaScrip的相关知识点,而JavaScrip是Web页面中的一种脚本编程语言,也是一种通用的、跨平台的、基于对象和事件驱动并具有安全性的脚本语言。它不需要进行编译,而是直接嵌入在HTML页面中,把静态网页转变成支持用户交互并响应相应事件动态页面

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到