JS入门初级

软件篇

Snipaste软件/截图和定在屏幕

当安装好了之后,按F1如果无效被FN+ESC锁住了,可以按fn+f1,f1截图,截图截好后,按f3定在屏幕上,当截图被定在屏幕上,再次按F1截图的时候,将鼠标放到截图上,会出现颜色。shift可换成rgba,原本是#开头。再按C复制颜色。当f1的时候可以再任何元素上面都会显示颜色。不想要的截图选中按ESC可以取消这个截图。

Zoomlt64/屏幕上画图

ctrl+1/ctrl+2进入了画图,再按ctrl/tab再画图的时候出现时对应的形状。这种矩形和椭圆都是按住然后画的时候,不是按一下下一次就是矩形。颜色的改变需要时英文字母,按以下,下一次颜色就是这个。这个是按ESC取消。

思维导图软件

enter同级,tab下一级。

typora软件

写md文件。写出来的文件更好看。

格式化文件

选中,我们学习初期不要安装格式化插件,用自带的格式化,保存就会格式化。

vue当中自动保存会格式缩进是两个空格,我们一个tab是 4个空格,再vscode中,是4。我们这样设置可以设成两个字

分屏live Server

JS

JS由ECMAScript和Web APIS构成,.WebAPI 是一种用来开发系统间接口、设备接口 API 的技术,alert和console这种就是webapis

这个网站可以搜索很多东西。js是一门运行在客户端的编程语言。但是现在是可以运行在服务端的。

JS三种写法

JS有以上三种写法,但是我们js有可能要取到元素,需要渲染之后才能取到,html是从上到上执行的。因此执行到html这种的时候,会渲染上去。所以我们script这种需要放到body上面。如果是外部引入的script对于内部的js会忽略。以及,html执行从上到下执行,执行CSS写在style等这些里面都是会执行,js当中的代码也是会执行的。执行就会起作用。

注释和结束符

这个;不像CSS一定要写,这个js可以写可以不写。除了在开头是括号,方括号,加号,剑豪,正则表达式开头的斜杠。需要加;,其他都没必要用;。其他的地方要不要加,统一加/不加。看团队要求。

JS输入输出语法

输出语句是写的JS语句可以输出到浏览器上,输入语句是写的JS语句是可以让用户输入。

输出语法(输出到浏览器上)

1.document.write()

2.console.log()

3.alert()/window.alert()

以上三个和输出参数都是可以是任何类型,因为是弱数据类型,因此可以是任何数据类型的数据。以及prompt最后得到的是字符串数据,是加上了双引号。除了alert是一个参数,其他三个都是多个参数,也可以输出多个。alert只一个参数,prompt第二个参数是框内输入的值。只有两个值。document多个没间距,console.log有间距的。只有document.write才能写标签,其他都是当字符串。这个标签和html标签那个先就看先执行那个。documnet这个写入的html标签会把他放在script标签下,再去执行html标签。会把浏览器会有这个代码。然后css只要执行到浏览器执行html代码对应的就可以。除了反引号的字符串可以换行写,其他都不行,必须一行写。一行是写不完的啊。反引号内换行不会算作字符输出。我们将prompt得到的数字相加必须得去掉双引号。其他算数可以不去。

输入语句

这个语句执行的,window对象的。window是可以省略的。因为似乎只一个内置对象window。会找内置对象。这个会让输入的作为返回值。在JS当中都是会执行的,css也是执行的,html执行,和java不同,js执行的时候就和java一样,调用方法,有作用,有返回值,js也是有变量的。js是把调用方法和方法都是可以写在一起的。html是按顺序从上往下执行所以代码,但是当执行alert和prompt会跳过渲染先被执行。console.log这个函数参数是多个的,输出多个参数的。输出以空格隔开。

这些语句都是写在script标签当中的,会执行这里的代码,执行这里的代码,这些代码就会有输出到控制台/弹窗/输出文字的作用。写在这些括号内的和写实参一样,写的是字符串类型需要双引号/单引号。但是对于document.write('<h1>1</h1>')这个语法,是可以执行html代码的,且是可以写CSS和js都可以写的。这里的括号内都会执行。script执行里面的代码,都是会执行的,都会有效果。html整个代码都是会执行的,都有对应的效果。和java不太一样,java内有些是不执行的。比如方法,除了调用。document.write内要写标签也是需要括号的。因为是字符啊。识别到字符会写到浏览器上。但是也会看是不是标签。window是浏览器窗口,而document是window的属性,也是对象形式是html文档(全部CSS和JS)。但是应该是随时的。这些原本是浏览器创建的对象,但是给JS作为内置对象。一打开浏览器。这些文档应该是关联浏览器。

字面量和数据类型

字面量var =1,这个1就是字面量,字面量是后面的值。字面量的类型有数字,字符串,数组,对象字面量。数据类型是这个字面量被初始化要写的是什么类型。

变量

我们在JS当中可以和java一样写变量,变量会定义在内存当中,是一个内存地址,相当于一个盒子,这个内存地址放的是这个字面值。访问这个变量得到的是里面存储的字面值。

变量初始化,代表一开始定义的时候就给它赋值,而不是默认值。当我们去写的是方法,会找JS当中的方法,要不然就去找内置对象的方法。声明的同时直接赋值是变量初始化。

变量let a=1这种是先let a 再右边赋值给a,先let这种是会找地址给名字。

多个变量一起定义

let a=1,b=2两个后面的去掉let,以逗号连接在一起,但是不提倡这样写,可读性太差。

变量名命名的规则和规范

规则(不得违背,违背报错)规划(违背不报错,但是业内要求这样)
变量命名不能是关键字起名见名知意
变量命名只能由字母数字$和下划线组成,数字不得做开头小驼峰写法,第一个首字母小写,后面的首字母都大写。useName
变量名当中小写大写不同

常量名命名规则和规范

规则规范
不得是关键字和保留字起名见名知意
只能由$下划线和数字字母组成(也可以是汉字),数字不得开头每个单词以下划线分开,都是大写。
严格区分大小写

数组字面值

数组字面值是[1,2,3]这种,中括号以逗号隔开。

且数组字面值输出是这个[1,2,3]/array[3]这种都可以的。数组可以让一个变量携带多个数据,这些数据都是我们给的。一个变量当中我们可以取出多个我们给的数据。以及我们写数组字面值的时候,和写参数一样,因为他会去找变量的写了变量。所以其他的要按规范来。中文汉字都可以是变量名。数组当中可以存储任意类型的数据,数组元素类型没必要一样,因为都是let/var这种,没类型。我们JS是弱类型语言,没有分的那么清。所以类型只是是否可读/存储位置。数组下标/索引值是从0开始。长度是最后一个索引值+1.取数组某一个元素,也是变量名【索引值/下标】。在,后面写一个空格,更好看一点。+null=0,null遇上这种会转成对应类型的零值。‘1+1’这种字符串,字符串里面就不会管啊,‘“1”+"pink"'这种外面有一层里面也是当成字符,不会进行运算。不是字符,1+1这种+运算符,才会运算,是运算符。输出一个数组,数组内元素可以计算,得到某一个值/或者数组,最后得到的都是计算过了的。可以给变量赋一个空数组,可以的。内存会有但是里面没有数。

常量

在JS当中常量需要用const这个来定义,c当中的常量也是特殊的关键字。当以这个关键词定义了,则这个变量当中存储的字面值不可以再改变。可以访问但是不能改变,如果以const命名,则必须赋值,如果是var会先给它赋值,如果没有值,定义就立马给一个默认值。但是这个不满足,必须给值,因为含义上来,我们给这么一个常量。如果只是默认值,之后又不能改,要这个默认值,基本上用不到。即使默认值用得到也可以赋值,所以我们要求一定要赋值。

字面值和数据类型的区别

数据类型不是指变量,指得是变量所存的数据。字面值和数据类型的关系,字面值是数据类型当中的某一个值。3.14 数据字面值。

数据类型

基本数据类型引用数据类型
数字数据类型(数字型)object对象数据类型
字符数据类型(字符型)
布尔数据类型(布尔型)
未定义undefined数据类型(未定义型)
空null数据类型

数据数字类型和字面值不一定是变量内所存的值,也可以是能写的地方的数值都是有该名称。

数字型是只要是数字,且变量前面的关键词与JAVA也不同,JAVA前面的关键字严格把控变量所存的值的类型,现在不需要,只看是否可读。以及因为数字型可以是小数,之前java int =1/2 是0.因为int必须是整数,原本除法是0.5,但是可以取整数,还可以赋值。但是现在 let  a=1/2是0..5,现在因为都可以所以正常除,数字运算结果。以及有很多算术运算符,加减乘除,取余%等。加法当左右有一个字符串,隐形转换,会将另一个变成字符型。字符型和字符型相加,是一个字符型,不过两个加在一起了。但是如果+前面没有,后面有字符型,则会将它转换成数字,能转就是数字,如果不能转就返回nan,不是数字类型。减法和除法和乘法,取余等如果左右有字符型,会和前面的+一样转换,是转换成数字。将有双引号的转换数字,nan。在JS当中Π是没有的,写了Π当成变量,不像数字,可以得到人类计算一样的数。以及不像计算书可以x^2这种,代表两个变量相乘。需要乘号。

数字类型特殊值NAN

处理的是数学操作,但是不正确/,不是两个数字。未定义字母等于0.以及含义是不是数字。返回nan。我们也可以给变量赋这个值。nan代表不是数字型,一个不是数字型的数加上数字,也是nan。当不加上转换成字符串型的,其他型得算术表达式最后得到数,这个数不如果能是具体的数,但是它表达的意思得对,一个不是数字的+undefined,你最后不知道是什么,但是一定不是数字。所以nan。以及nan是基本数据类型,基本数据类型比较值,在语法中,我们让nan!=nan,从含义上命名的这个语法。Infinity是无穷大,nan是当数学操作不正确,infinity是当字母等于0,我们让它是这个值,但是如果除上这个值,=0.这些值大写的就必须大写,大写才能认识这个是和1一样的数据,不是字母。

字符串类型

用单引号,双引号亦或是`  `(反引号)这种数据类型都是字符串数据类型。但console.log输出到控制台上,我们会把值去掉双引号输出。以及无论是上面那个,都是从左开始找最近的,作为一对,当最外层的双引号作为字符串的标志,内部的双引号等都会被当成字符,可以匹配。如果内部有些\会不让匹配,只是和汉字这些一样。

字符串的拼接

在+左右只要有一个字符串型就会把另一个隐形转换成字符型,字符型相加是都去掉’,然后拼在一起再加双引号。双引号和单引号内部的都当成,字符,但是字符如果是双引号等可以匹配。其他无效哦。字符串拼接的时候,不写字符型,些字母,又不是字符型,就去找变量的值,进行拼接。

反引号写变量

我们用双引号等些变量需要放到符号外面,但是反引号可以写在内部,${}里面写变量名,然后在看到反引号回去检查是否有这个符号,有的话就去找这个变量,最后把这个变量内值放进去代替这个${},代替的时候,字符串也会取双引号等,数组会取出来。

布尔型数据类型

布尔型数据类型只有false和true,且不等式或者大于小于最后这个整体代表的值都是布尔类型。

未定义类型

undefined是未定义类型,语义是没有给值。我们可以给变量这个值。内存就存这个值。以及当一个数没赋值,就是未定义,就默认给里面存这个。未定义类型undefined的值只有undefined

null类型

null是对象数据类型,赋null,其实是给了一个对象,但是对象内没值,这种我们用null。当给一个变量赋null,其实是指向一个地址,地址内没数就是null。

undefined是没赋值。没数,但是null是有对象。这两种undefined没给值,所以语义上进行加减这,nan不仅是数字,也可以是算术运算符运行错误。null有值+1,访问对象内,找到了对象,即使里面没有值,但是规定这种只要有对象,没有就当相加就当是相加另一个类型的。0值。

typeof运算符/函数

window内有typeof函数,这个函数返回值是是数据类型。参数只有一个,typeof是算术运算符,后面写数据/变量,最后整个是数据类型。这个是变量内存是什么类型。typeof运算符优先级高于+,-,*,/运算符,先执行这个将结果放入。最后得到的是字符串。

加减乘除运算符隐式转换

当加号左右有字符型隐式转换,将不是字符型的转换成字符型。然后进行字符串的拼接,如果左右没有字符型还是按照数字的来加
当加号前面没有数则会将后面的一定得是字符串型的数据,如果内部是数字,则整个是这个数,如果不是是nan
除了加号的其他运算符,无论两侧是否有数字,只要是字符串且内部是数字就会转成数字,如果有字符串则符号左右是nan

显示转换

Number函数是window内置对象内的函数。这个函数内值写了一个参数,即使写了第二个参数是不会报错的,但是没用,内否得到内部的是数字得到数字就是数字,不能就返回nan。但是Number

这个类,字符串内只能只写数字,才能拿到数字。parseInt函数可以字符串类型,内部数字在最前面后面可以随便,都可以取到数字。number内的数字可以是任意数字类型,但是parseInt只能是整数型,parseFloat可以是小数/整数,最后得到的数不是一定得加上小数点。

易错:

在+号运算符,只要左右有一个字符串就全部转成字符串进行拼接,否则就全部转成number

比较运算符,必须左右都是字符串,才比较内部一个一个,否则左右都转number,比较

我们prompt和typeof都往输入的值加引号无论输入是否是字符型。如果加号和一元运算符+需要隔开,否则会认为是++。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值