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)
……
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(取反)
关系运算符:>、
赋值运算符:=、+=、-=、*=、/=、%=
优先级: