JavaScript 新手必备知识(Java修仙体系结丹境)

JavaScript 新手必备知识

概念

JavaScript 就是脚本,让用户和页面进行交互。

JS 中有很多的数据类型,且它用来接收的数据类型并不是其本身。

⭐因为 JS 是弱语言类型,就是在开辟内存空间的时候,不规定其将来存储的数据类型,所以可以存放任意的数据类型⭐

而 JAVA 是强语言类型,在开辟内存空间的时候以及规定死了其存储的数据类型,将来存储的时候只能存储相应的数据类型。

JS中的数据类型:

int:NaN 是一个数字的数字类型,常在String转int型失败时出现。
任何类型 + NaN 结果总是 NaN⭐。
注意,NaN隶属于int类型!!!

boolean

string

null

undefind(如果一个变量给定初始类型显示此值:未定义)

在我们定义的时候,有三种接收的数据类型
let:块级域变量,且不存在变量提升,不能在同一块级中重复申请

var:全局变量,即使在域中声明,也是全局变量

const:块级域常量,定义类型后不能重写,但是可以在对象和数据中新增数据,因为其是⭐内存存储⭐的

JS中关于运算符的介绍

一元运算符:++ --,+,-
自增自减,没有问题,但是在 + 号这边,我们需要讲一下:

比如: let a = "1" + 1; 那么这个 “1” 就会被自动解析转换为int类型,根据其⭐字面值⭐转换而不是 ASCII 码。结果为2

但是如果像这样:let a = "a" + 1; 预期结果是 97+1 = 98,而是转换为 NaN 类型,因为 “a” 字面值就是 a ,所以会转换为 NaN 类型。

boolean --> int; false:0,true:1;

比较运算符:===

JS中的== ,是 === ,这个叫全等于,⭐会先根据类型比较,如果类型不一致,那么结果就是 false
如果类型都是字符串,那么会按照⭐字典法排序⭐,按位比较大小。

逻辑运算符:&& || !

三元运算符:a = b > c ? b : c; 这个是比较大小的,B>C则返回B,否则返回C

流程控制语句

和JAVA没有什么区别,唯一要注意的就是 switch(里面可以接收任意的类型);

下面说一下关于各种类型转–>boolean类型转换的问题

int:0或NaN–>false,其他–>true
string:""–>false,其他–>true
null/undefined:都为–>false
对象:都为–>true

到这里,我们基本的理论概念就介绍完了。

我们先讲一下 JS 的创建的方式及规则

像 JS 的标签,我们可以定义在HTML中的任何地方,且没有定义数量的限制,但是有执行优先级,根据其先后顺序执行

<script type="text/javascript"></script>	/// 这个是定义的方式,内部JS,直接在标签体中写代码即可
<script type="text/javascript" src="导入JS文件的路径"></script> /// 这个导入外部的JS

下面我们讲 JS 内置对象。

JS的内置对象有很多,我们只挑几个比较常用的。

function(){}:这个是非常重要的内置对象,因为后面所有需要绑定的事件、方法都需要用这个进行创建
Array:这个是数组对象,和Java中的数组类似。
Date:日期对象,基本和JAVA一样
Math:数学的基本对象。
RegExp:正则表达式对象,这个比较重要!!!
Global:全局编码对象,比较重要!!!

⭐Function 对象⭐

创建方式,注意,不能放在 windows.onloda(){} 方法体中哦~

function fun(){方法体}; 第一种

fun = function(){}; 第二种

如果我们需要调用方法,直接写 fun(); 就OK了。
我们可以 fun().length,获取的是形参个数

相较于Java语法:

我们不用定义返回值类型,也不需要返回值。

并且()里面的形参类型,我们不用写。()中会有一个隐藏的形参 arguments,封装所有的形参列表。

JS中的方法没有重写,如果同名了,那么写在底下的方法会覆盖上面的方法

⭐Array 对象⭐

创建方式

let arr = new Array(元素列表);	// 记得元素列表用 "", 隔开
let arr = new Array(默认长度);	// 里面可以定义数组的长度,然后通过方法一个个添加。
let arr = [元素列表];	// 这个直接省略了 new Array 的过程。

关于里面的方法:

push(); 就是在数组的末尾添加一个元素。

pop(); 出栈,删除(弹出)最后面的元素。

join(","); 用逗号将数组中的元素进行分隔,并返回一个字符串。注意,逗号是我自己命名的,里面可以自己更换。

属性:
arr.length; 数组的长度

特点:
数组里面的结构就类似于一个 栈。
JS数组的大小是可变的,很灵活。
JS数组中存储的元素不是固定的,可以是任意的。

⭐Date 对象⭐

创建方式
let date = new Date(); // 返回一个日期对象:Tue Mar 16 2021 14:09:05 GMT+0800 (中国标准时间)

因为 Date 对象默认的返回类型不是我们能看的懂的,所以下面有几法进行转码

date.toLocaleString();	// 返回一个本地日期格式的字符串:2021/3/16 下午2:11:01
date.toLocaleDateString(); // 返回一个像 Java 定义的Date类型的字符串。我们可以用这个给后台,好进行格式转换:Tue Mar 16 2021
date.getTime();	// 返回时间的毫秒值(从1979.1.1 00:00:00开始计算),我们也可以传输这个给后台,进行格式的转换,比较推荐

⭐Math 对象⭐

因为Math对象里面的方法大都是静态的,所以我们不需要进行创建

方法:

random(); // 返回0-1之间的随机数,含0不含1。 Math.random() * (max - min) + min; 获取的值 min<= 值 < max。可以用来获取指定范围的随机数。
floor(int x); // 向下取整。如 4.9 获取的值就是 4
ceil(int x); // 向上取整。如 4.1 获取的值就是 5
round(int x); // 将 x 四舍五入。

属性:
PI; 获取 PI;

⭐RegExp 正则表达式对象⭐

关于正则表达式,我们先要介绍其基本规则

正则表达式:定义字符串的组成规则

关于单个字符:
\d:单个数字字符[0-9]

\w:单个单词字符,一般用于校验[0-9/a-z/A-Z/_]

我们也可以麻烦一点,自己手写规则,如 \w,我们可以在正则表达式中写 [0-9] ,也是没有问题的,下面会讲如何创建。

关于量词符号:

?:表示出现0次或1次
*:表示出现0次或多次
+:表示出现1次或多次
{m,n}:输入的值必须 <= n 且 <= m

开始符号及结束符号
^:开始
$:结束

创建正则表达式

let reg = new RegExp("正则表达式");	// 一般不用这个创建
let reg = /^\w{6,12}$/	// 意思是 里面的值必须在 [0-9a-zA-Z-_] 之间,且长度必须大于 6 且 小于 12。
reg.test("需要校验的字符串");	// 返回一个boolean类型,用于检验里面的字符串是否符合正则表达式定义的规则

⭐Global⭐

特点:全局对象,不需要对象名就可以直接调用了。

方法:
关于URL编码,就是将中文字符转为16进制用 % 隔开

encodeURI("需要进行编码的数据");	// URL编码,只可以对中文进行编码
decodeURI("需要进行解码的数据");	// URL解码,只可以对中文进行解码
encodeURLComponent("需要进行编码的数据");	// URL编码,可进行编码的字符更多
decodeURLComponent("需要进行解码的数据");	// URL解码,对更多的字符进行解码

parseInt("字符串"); // 可以将里面的字符串按照字面值转换为 number 类型,直到里面的字面值不为 数字
isNaN("数据");	// 用于判断传输的数据是不是 NaN 类型。 NaN 参与的 === 比较均为 NaN
eval("传输JS代码的字符串");	// 将字符串类型的JS对象全部转为代码执行

如果这篇文章对你有用的话,记得点个赞哦!

修仙永无止境。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

烟雨红尘客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值