JavaScript  01    

 

论文告一段落了,剩下要修改的就非常少了,抽一天时间就能解决了。所以有时间来这写东西了。前端三件套html、css(和xss要分开,完全不是一个东西)、JavaScript之前学过,这次先过一遍JavaScript,为实习打基础,后续更新html和css。有时间的话会同时更新一下渗透测试的东西,也是从0开始的,算是一些笔记吧(初学者不建议一心二用,我是因为之前学过所以两用)。时间上我会在上午和下午写JavaScript,晚上学学渗透(在我不懒的前提下)

顺便说一下,Java不是JavaScript的二舅,他俩没啥关系,只是JavaScript借鉴了Java一丢丢语法

JavaScript和python都是面向对象的语言,所以有很多相通的地方。

JavaScript的特点是解释一行,执行一行(解释成CPU可以运行的语言),也是脚本语言的特点

JavaScript能做啥呢?

1 网页特效

2 服务端开发(Node.js)

3 命令行工具(Node.js)

4 桌面程序(Electron)

5 App(Cordova)

6 游戏开发

7 物联网(Ruff)

……

JavaScript  01_JavaScript

ECMAScript是一套标准(语法等)、BOM浏览器对象模型、DOM文档对象模型

书写位置:

  行内JS写法(不常用):

  嵌入写法:

 

 

  外部写法(特别推荐):

 

    //引入外部js

 

--------------------------------------------正式开始了--------------------------------------------------------

开发软件建议:sublime,有小又好用。

每一行结尾有分号;

注释://

五种类型:number  str  null   布尔  undefined

定义变量:var num1 = 5; 

    console.log(num1);(输出在console。即浏览器的开发者工具中的console中)建议使用Google浏览器。F12就可以看到console。然后点击就行了

    也可以先声明后赋值。var n;   n=2;

声明多个变量:var n1,n2,n3;  n1=1……

变量名区分大小写;变量名要有含义;驼峰命名法; 

 

浮点数:精度问题,不要比较两个浮点数是否相等,计算机浮点数到17位,0.1+0.2 计算机结果为0.30000000000000004

NaN:一般出现在非数字的情况。console.log(5*"abc")  结果NaN,not a number.            isNaN也可用来判定是否是一个数字:var num=12; isNaN(num); 返回布尔值(注意这里判断的是  不是)is not a number,不是的话返回true

转义符:\        也可以转义\  :\\   

换行符:\n

制表符:\t   大概四个空格的距离(每种语言都不一样)

回车:\r

空格:\b

字符串长度:msg=“我是好人”; console.log(msg.length);                python中print(len(msg))

字符串拼接:字符串+字符串,若其中一个非字符串,拼接的时候会先转成字符串在拼接。两边只要有一边是字符串就能够实现拼接功能

获取变量类型:typeof  :  num=12 ; name="zs";   console.log(typeof num)    python中:type(num)

单行注释://

多行注释:/* ...... */

类型转换:转成字符串:1.  toString()  num=12; console.log(num.toString());  2.  null和undefined转成字符串用String(num)   (一般这么用 )  3.  也可拼接一个空的字符串“ ”   console.log(typeof (num + " "));      typeof之后要加()改变优先级

    转化成数值类型:1. Number()       num="12"      console.log(Number(num));      布尔类型转成数值类型是0和1  其余包含字符的转成字符串显示NaN,

            2. parseInt()    parseInt(num)  但是parseInt()无法判断布尔值,返回NaN    两者还有区别我就不写了,一看就懂我懒得写了T_T.........我终于发现写笔记的困难之处了,唉,一小时的课,写个笔记能出两个小时T-T

            3. parseFloat()  

    转成布尔类型:Boolean(num)      字符串和数字都是true,其他事Flase(undefined,NaN,0,空字符串, )

 

运算符:+、-、*、/、%。    %取余数

一元运算符:++、--           python中:+=、-=…… n+=3

    一元运算符注意前置和后置:++m返回m+1  ,m++返回m之后再+1         n = 5;   console.log(n + ++n + ++n + n++ + n++);  console.log(n)  把这个弄懂就行了。

逻辑运算符(布尔运算符):与&&、或 || 、 非!(取反)      python中:and,or,not(取反)

关系运算符:>、

赋值运算符:=、+=、-=、*=、/=、%=

优先级:

      JavaScript  01_JavaScript_02