美文网首页
js学习体会

js学习体会

作者: 腾蛇太元帅 | 来源:发表于2023-03-11 15:01 被阅读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相同)计算方式,用左边的操作右边的

    +=

    -=

    *=

    /=

    %=

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

    相关文章

      网友评论

          本文标题:js学习体会

          本文链接:https://www.haomeiwen.com/subject/tjuxrdtx.html