js学习体会

2023-03-11  本文已影响0人  腾蛇太元帅

本周三我进行了第二次html和css考试,不出所料顺利通过,然后就开始js的学习。

在学习js过程中,一开始只是了解js因此没有太多的感触。然后就开学习了输入和输出符,结果和Java、css都有很大区别,出现了很多新的单词,唉,开头就要开始费脑子了。看了两天之后,突然发现在找视频的时候看到的新版视频和这个是同一个人,于是我又转向看新视频,虽然开头内容又较大差别,但是我还是很快适应过来了。不过,不得不说,新视频确实有新的地方,比如使用let代替var,老视频中讲的是使用var,而新视频中则讲出了var的几个bug,所以以后就使用let了。随着讲的越来越多,我发现很多都和java越来越像,比如运算符啊、数据类型啊等等,基本都和java一模一样,因此学习js至少到现在还是非常容易的。以下是学习过程中的笔记:

1、js基础

1.1、js输入输出语法

输入

prompt()

在弹出的输入框中输入内容

输出

语法一:document.write(‘要出的内容’)

作用:向body内输出内容

注意:如果输出的内容写的是标签,那么也会被解析成网页元素

语法二:alert(‘要出的内容’)

作用:弹出警告框

语法三:console.log(‘控制台打印’)

作用:控制台输出语法,程序员调试使用

1.2、字面量

比如:

工资是1000,1000就是数字字面量

‘黑马程序员’,是字符串字面量

还有接下来的[]数组字面量,{}对象字面量等等

2、变量

2.1、声明变量

语法

let 变量名(注:和老版var区分,现在已经不使用var了)

不提倡同时声明多个变量可读性不好

2.2、let和var区别

var可以先使用再声明(不合理);

var声明过的变量可以重复声明(不合理);

var变量提升、全局变量、没有块级作用等;

2.3、数组的基本应用

数组--一种将一组数据储存在单个变量名下的优雅方法

1、声明语法

let 数组名 = [数据1,数据2,数据3....数据n]

2、使用数组

和java一样,编号也是从0开始,用中括号括住。

数据编号也叫索引或者下标。

数组可以储存任意数据类型。

数组中一些术语

元素:数组中保存的每个数据都叫数组元素

下标:数组中数据的编号

长度:数组中数据的个数,通过数组的length属性获得

3、常量

使用const声明的变量称为常量;常量在声明的时候必须赋值(即必须初始化);常量不允许更改值;

当某个变量永远不改变的时候,可以使用const声明,而不是let。

命名规范和变量一样。

4、数据类型

4.1、给数据分类的作用

1、更充分和高效的利用内存

2、也更加方便程序员使用数据

4.2、js数据类型分为两种

基本数据类型:number(数字型)、string(字符型)、boolean(布尔型)、undefined(未定义型)、null(空类型)

引用数据类型:object(对象)

4.2.1、基本数据类型--数字型number

即我们数学中的整数、小数、整数、负数。js中所有整数、小数、整数、负数统称为数字类型。

js是弱数据类型,即变量究竟属于哪一种类型,需要赋值之后才能确认

相对应,java是强数据类型,即int a=3;则a只能是整数。

算术运算符:求和(+)、求差(-)、求积(*)、求商(/)、取模(即取余数,%,开发中常用来判断某个数字是否被整除)

计算优先级:乘、除、取余优先级相同;加、减优先级相同、乘、除、取余优先级大于加、减;可使用小括号提高优先级;

总结:和数学中计算顺序相同,取余等同于乘、除。

当出现NaN时,表示计算错误时not a number的缩写。NaN是粘性的,计算中出现NaN时,结果还是NaN

4.2.1、基本数据类型--字符型string

通过单引号('')、双引号(“”)、反引号(``)包裹的数据都叫字符串,单引号和双引号本质上没有区别,推荐使用单引号。即使是数字,加上单引号后也是字符串。如果引号内没有东西,叫做空字符串。

注:

无论单引号还是双引号必须成对使用;单引号/双引号可以互相嵌套,但是不能自己嵌套自己(口诀:外双内单,或者外单内双);

必要时可以使用转义符“\”,当未使用外双内单,或者外单内双或者需要单独输出单引号或者双引号的时候。

使用“+”可以使数字相加,字符相连,字符和数字相连。类似java

模板字符串

用于拼接字符串和变量,在没有他之前变量拼接比较麻烦。

语法:外面要使用反引号(``);在需要拼接变量的地方使用${},在打括号内写变量名

4.2.1、基本数据类型--布尔型boolean

表示肯定或者否定使在计算机中对应的使布尔类型数据,只有两个固定值true和false

4.2.1、基本数据类型--未定义型undefined

比较特殊的类型,只有一个值undefined。

什么情况出现未定义类型?

只声明变量,不赋值,变量默认为undefined,一般很少直接为某个变量赋值为undefined

工作中使用场景:我们开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。

4.2.1、基本数据类型--空类型null

js中的null仅仅是一个代表“无”、“空”、“值未知”的特殊值

null和undefined的区别:undefined表示没有赋值;null表示赋值了,但是内容为空

null开发中使用场景:

官方解释:把null作为尚未创建的对象;

大白话:将来有个变量里存放的是一个对象,但是对象还没创建好,可以先给个null

4.3、检测数据类型(typeof)

控制台语句常用于测试结果来使用,在控制台中,数字型和布尔型颜色为蓝,字符串和undefined为灰色。

通过typeof关键字检测数据类型

typeof运算符可以返回被检测的数据类型,它支持两种语法:1、作为运算符:typeof x(常用);2、函数形式:typeof(x)。x为变量名。

换言之,有括号和没有括号,得到结果使一样的,所以我们直接使用运算符的写法

5、类型转换

5.1、为什么需要类型转换

js是弱数据类型,js是那种数据类型只有赋值后才清除。

坑:使用表单、prompt获取的数据默认是字符串,因此不能简单进行加法运算。此时就需要转换变量的数据类型,通俗来说就是把一种数据类型的变量转换为我们需要的数据类型。

5.2、隐式转换

某些运算符被执行时,系统内部会自动进行类型转换,称为隐式转换。

规则:

+号两边只要一个是字符串,都会把另一个变成字符串

除了+以外的算术运算符,比如-、*、/等都会把数据转换成数字类型。

缺点:转换类型不明确,靠经验才能总结

小技巧:

+号作为正号使用可以转换成数字型。

任何数据和字符串相加结果都是字符串。

5.3、显式转换

编写程序时过度依靠隐式转换时不严谨的,因为隐式转换规律并不清晰,大多靠总结的规律。为避免隐式转换带来的问题,通常根据逻辑需要对数据进行转换。

概念:自己写代码告诉系统该转成什么类型。

转换为数字型。

Number(数据):

转换为数字类型;

如果字符串内容有非数字,转换失败显示NaN,即不是一个数字。

MaM也是number类型数据,代表非数字。

parseInt(数据):只保留整数。

parseFloat(数据):可以保留小数。

注:区分大小写,因为js对大小写非常敏感。

6、运算符

6.1、赋值运算符

目标:能够使用赋值运算符简化代码

已经学过的赋值运算符:=,将右边的值赋给左边,左边必须是容器。

其他赋值运算符(与Java相同)计算方式,用左边的操作右边的

+=

-=

*=

/=

%=

目前暂时就学到这,下周进度应该可以再快一点,加油!!!

上一篇下一篇

猜你喜欢

热点阅读