网络安全之web基础js篇(上篇)(基础入门)

目录

一,认识什么是js

二,js中五个基本数据类型

1,引用类型

2,数字类型字面量

3,字符串类型的字面量

三,js中的变量

4,变量

5,变量的命名规则

6,变量声明提升

7,用typeof检测数据的类型

8,数据类型的转换

9,从提示框获取数据

10,数学运算符(+,-,*,/,%)对应加,减,乘,除,模除(求余数)

11,赋值运算符(=,+=,-=,*=,/=,%=)

12,数学函数Math

13,类型隐含的值

14,比较运算符

15,字符串比较

16,逻辑运算符

17,隐含的boolean类型

18,if条件语句

19,自增自减运算符

20,switch条件语句

21,循环语句

1,for循环

2,while循环

3,do{}while循环

22,js中的函数

1,函数调用进行简单的加法运算

2,局部变量和全局变量

3,变量作用域的提升(它会将声明提升到最上方但是不会把定义的值给提升到最上方)

4,return关键字

5,表达式类型的函数

6,回调函数(顾名思义就是自己调用自己)

7,递归(多次调用函数直到条件为假为止)

8,IIFE立即调用函数(执行到这里时就立即调用一次)


一,认识什么是js

JavaScript(通常简称JS)是一种编程语言,它特别擅长给网页添加各种动态效果和交互功能。比如,当你点击一个按钮,网页上弹出一个对话框或者播放一段动画,这些很可能就是JavaScript在起作用。

js要写在<script></script>标签中

1,alert警告框函数

<!DOCTYPE html> <!-- 声明文档类型为html -->
<html>
	<head> <!-- 文档头部 -->
		<meta charset="utf-8">  <!-- 设置文档字符集为utf-8,另外还有很多字符集大家可以自己去百度了解一下 -->
		<title>我的js笔记</title> <!-- 标题 -->
	</head>
	<body> 
	<script type="text/javascript">//声明类型为js
		alert("这是一个警告框");//alert函数用来在浏览器上方弹出一个警告框
	</script>
    </body>
</html>

alert在浏览器正上方弹出一个警告框

2,prompt提示框函数

<!DOCTYPE html> <!-- 声明文档类型为html -->
<html>
	<head> <!-- 文档头部 -->
		<meta charset="utf-8">  <!-- 设置文档字符集为utf-8,另外还有很多字符集大家可以自己去百度了解一下 -->
		<title>我的js笔记</title> <!-- 标题 -->
	</head>
	<body> 
	<script type="text/javascript">
		prompt("这是一个提示框");//prompt函数用来在浏览器上方弹出一个提示框
	</script>
    </body>
</html>

propmt在浏览器正上方弹出一个提示框

3,console控制台函数

console.log在控制台输出一些数据

<!DOCTYPE html> <!-- 声明文档类型为html -->
<html>
	<head> <!-- 文档头部 -->
		<meta charset="utf-8">  <!-- 设置文档字符集为utf-8,另外还有很多字符集大家可以自己去百度了解一下 -->
		<title>我的js笔记</title> <!-- 标题 -->
	</head>
	<body> 
	<script type="text/javascript">
		console.log("这是一个控制台输出的信息");//console用来在浏览器控制台输出一些数据
	</script>
    </body>
</html>

F12打开开发者模式点击Console可以看到输出的数据

在控制台中也可以进行简单的运算,1+1得到结果2

  <script>	
  console.log(1+1);
  </script>

或直接在控制台输入1+1

二,js中五个基本数据类型

【1】string(字符类型):“老男孩”

【2】number(数字类型):888

【3】blooean(布尔类型):True,False

【4】undefined(未定义类型):undefined

【5】Null(空类型):null

1,引用类型

Object(引用类型):函数、数组、正则、DOM、BOM

2,数字类型字面量

整数(分正负):5,-5

小数(分正负):0.2,-0.2

科学计数(分正负):2e3(相当于2*10^3),-2e3(相当于-2*10^3)

无穷数(分正负):Indinity,-Indinity,1/0

NaN(不是一个数字):0/0(分母不能为0,所以会出现NaN)

3,字符串类型的字面量

数据由单引号或双引号括起来,字符串中的字符,可以是汉字、英文字母、数字、任意特殊字符。

		<script>
        console.log("你好");
		console.log("hello");
		console.log('8');
		console.log('*');
        console.log("");//空字符
        </script>

三,js中的变量

4,变量

顾名思义可以变的量,变量用法有三个步骤:

1,定义变量

2,给变量赋值

3,使用变量

    <script>
    var a;//定义变量,也可在定义的同时赋值如:var a=4;
	a=4;//给变量赋值
	console.log(a);//使用变量
    </script>

如果没有给变量赋值那么变量的值默认为undefined

5,变量的命名规则

1. 可以是数字、英文字母、下划线、美元符号$

2. 不能以数字开头

3. 不能是关键字、保留字

6,变量声明提升

顾名思义是将定义的变量作用域提升到最上面去,但是赋给的值不会提升到最上面。

<!DOCTYPE html> <!-- 声明文档类型为html -->
<html>
	<head> <!-- 文档头部 -->
		<meta charset="utf-8">  <!-- 设置文档字符集为utf-8,另外还有很多字符集大家可以自己去百度了解一下 -->
		<title>我的js笔记</title> <!-- 标题 -->
	</head>
	<body> 
	<script type="text/javascript">
	console.log(a);//undefined
	    var a;
		a=4;
	console.log(a);//4
	</script>
    </body>
</html>

输出结果

7,用typeof检测数据的类型

<script>
    console.log(typeof "good");
	console.log(typeof 100);
	var a;
	console.log(typeof a);
</script>

结果

8,数据类型的转换

【1】数字转字符串

通过使用+号将数字转换成字符,可以理解为连字符吧

<script>
console.log("你好啊"+65+"hello");
</script>

结果

【2】字符串转数字

parseInt函数是将第一次遇到的整型数字字符串给提取出来

parseFloat函数是将第一次遇到的浮点型(小数)数字字符串给提取出来

<script>
console.log(parseInt("123你好456"));
console.log(parseFloat("1.23你好啊4.56"));
</script>

结果

9,从提示框获取数据

	<script type="text/javascript">
		var a=prompt("你今年几岁了?");
        console.log(a);//输出在输入框输入的数据
    </script>

输入19控制台输出19

10,数学运算符(+,-,*,/,%)对应加,减,乘,除,模除(求余数)

<script type="text/javascript">
        console.log(10+3);//输出13
		console.log(10-3);//输出7
		console.log(10*3);//输出30
		console.log(9/3);//输出3
		console.log(10%3);//输出1
    </script>

11,赋值运算符(=,+=,-=,*=,/=,%=)

	<script type="text/javascript">
	var a=1;
    a+=4;
	console.log(a);//输出5
    </script>

其实可以理解为a=a+4

12,数学函数Math

<script type="text/javascript">
        console.log(Math);
</script>

可以看出Math里面集成了许多数学函数

使用Math,还有许多内置的函数,这里列举几个

	<script type="text/javascript">
        console.log(Math.abs(-34));//求绝对值
		console.log(Math.random(0,2));//0到2的随机数
    </script>

13,类型隐含的值

类型                           隐值

True                             1

False                            0

undefined                   NaN

null                               0

空字符串:""                   0

纯数字字符:"123"       123

混合的数字字符:"1a"   NaN

14,比较运算符

大于           >

大于等于           >=

小于           <

小于等于    <=

等于      ==

全等于(值和类型都相等)    ===

不等于     !=

不全等于 (值和类型都不相等)  !==

15,字符串比较

从第一个开始按字符的ASCII码值依次向后进行进行比较,结果为true或false

0的ASCII为48

A的ASCII为65

a的ASCII为97

	<script type="text/javascript">
      console.log("abc">"abcd");//输出false
    </script>

16,逻辑运算符

逻辑与:&&,逻辑或:|,逻辑非!

【1】逻辑与(一0为0,全无0为后面哪个数)

	<script type="text/javascript">
      console.log(0&&1);//0
	  console.log(1&&2);//2
    </script>

结果

【2】逻辑或(不是全0数值为不是0的哪个数)

	<script type="text/javascript">
      console.log(0|0);//0
	  console.log(0|2);//2
    </script>

结果

【3】逻辑非(真假互换)

	<script type="text/javascript">
      console.log(!0);//true
	  console.log(!1);//false
    </script>

结果

17,隐含的boolean类型

0,NaN,undefined,unll,空字符串     :false

非0数字,非空字符串:true

18,if条件语句

格式:

【1】if

格式:

<script>
if(条件)
{
   要执行的语句;
}
</script>

例子:

<script>
if(2>1)
{
console.log("2大");
}
</script>

【2】if{}else{}

格式

<script>
if(条件)
{
 要执行的语句;
}
else
{
当条件为假时执行的语句;
}
</script>

例子:

	<script type="text/javascript">
	var a=1,b=2;
     if(a>b)
	{alert("a>b执行这里");
	} 
	 else
	 {
		 alert("a<b执行这里");
	 }
    </script>

【3】 if{}else{}嵌套(意思是if{}else里面套了if{}else)

格式:

	<script type="text/javascript">
	var a=80;
   if(条件语句)
   {
	执行语句;   
   }
   else if(条件语句)
   {
	  执行语句;
   }
   else
   {
	  执行语句;
   }
    </script>

例子:

	<script type="text/javascript">
	var a=80;
   if(a<60)
   {
	alert("不及格");   
   }
   else if(a>60&&a<=70)
   {
	   alert("及格");
   }
   else
   {
	   alert("优秀");
   }
    </script>

19,自增自减运算符

	<script type="text/javascript">
	var a=1,b=1,c=1,d=1;
	console.log(a++);//先输出1后自增加1
	console.log(++b);//先加1后输出2
	console.log(c--);//先输出1然后自减减1
	console.log(--d);//先自减减1后输出0
    </script>

结果

20,switch条件语句

格式:

<script type="text/javascript">
switch(条件)
{
	case 条件1:
	执行语句;break;
	case 条件2:
	执行语句;break;
	case 条件3:
	执行语句;break;
    default:执行语句;break;
}
</script>

【1】先判断条件是否为真

【2】条件为真去匹配case中的条件,满足则执行语句

【3】break的作用是执行完这条语句后就跳出switch不再执行下面的了,如果没有break它就会把符合条件及它下面的都给执行了

【4】default的作用是在找不到符合的case条件时执行这条语句

例子:

	<script type="text/javascript">
	var a=80;
	var b=1;
switch(b==1)
{
	case a<60:
	alert('不及格');break;
	case a>70:
	alert('及格');break;
	case a>60:
	alert('优秀');break;
    default:alert('成绩错误');break;
}
    </script>

21,循环语句

1,for循环

格式:

	<script type="text/javascript">
	for(定义变量;设置条件;变量调整)
	{
		执行语句;
	}
    </script>

例子:下面是在控制台输出0到80的数(设置条件时应该避免条件永远为真,避免死循环)

	<script type="text/javascript">
	var a=80;
	for(var b=0;b<=a;b++)
	{
		console.log(b);
	}
    </script>

程序执行的顺序:

【1】定义变量

【2】判断条件

【3】执行语句

【4】变量调整

2,for语句嵌套(for里面有for)

	<script type="text/javascript">
	for(var b=0;b<=3;b++)
	{
		for(var c=0;c<=b;c++)
		console.log(c);
	}
    </script>

【1】外面的for循环一次里面的for循环到c>b为止,直到外面的for条件也终止

【2】结果是0010120123

算法实例:

1,从1加到10,并输出到控制台

	<script type="text/javascript">
		var a=0;
	for(var b=1;b<=10;b++)
	{
		a+=b;
	}
	console.log(a);
    </script>

2,计算1~100之间的奇数和偶数

	<script type="text/javascript">
		var j=0,o=0;
	for(var b=1;b<=100;b++)
	{
		if(b%2==0)
	 o++;
	 else j++;
		
	}
	console.log(o,j);
    </script>

3,输出1~100间的素数(素数:只能被1和本身整除的数)

	<script type="text/javascript">
	for(var a=1;a<=100;a++)
	{
        for(var b=2;b<a;b++)
		{
			if(a%b==0) break;
		}
		if(b==a) console.log(a);	
	}
    </script>

【1】break跳出所在的循环

【2】continue结束本次循环

2,while循环

格式:

	<script type="text/javascript">
   while(条件)
   { 
      执行语句;
   }
    </script>

1,输出1~20的数

	<script type="text/javascript">
   var a=0;
   while(a<=20)
   {   a++;
	   console.log(a);
   }
    </script>

2,输出1~20之间的奇数

	<script type="text/javascript">
   var a=0;
   while(a<20)
   {   a++;
	   if(a%2!=0)
	   console.log(a);
   }
    </script>
3,do{}while循环

格式:

<script type="text/javascript">
      do
      {
       执行语句;
      }while(条件);
 </script>

【1】值得注意的是do{}while最少执行一次

1,输出1~10的数

	<script type="text/javascript">
   var a=0;
   do
   {    a++;
	   console.log(a);
   }while(a<10);
    </script>

22,js中的函数

格式:

	<script type="text/javascript">
    function fun(形参){
       执行语句
    }

fun(实参);//调用函数
    </script>
1,函数调用进行简单的加法运算
	<script type="text/javascript">
    function fun(a,b){
    console.log(a+b);//输出2
    }
    fun(1,1);//调用函数
    </script>
2,局部变量和全局变量

【1】局部变量(也就是被局部的定义域给限制了)

	<script type="text/javascript">
    function fun(){
    var c=9;
	console.log(c);//这是局部变量
    }
    fun();//调用函数
	console.log(c);//这里调用函数内部的局部变量会报错
    </script>

报错:not defined没有定义

【2】全局变量(在整个<script>标签内都可使用,但是值得注意的是局部变量的优先级要大于全局变量)

	<script type="text/javascript">
    var c=9; //这是全局变量
    function fun(){
	console.log(c);
    }
    fun();//调用函数
	console.log(c);
    </script>

不会报错:

3,变量作用域的提升(它会将声明提升到最上方但是不会把定义的值给提升到最上方)
	<script type="text/javascript">
    function fun(){
	console.log(c);
    }
    fun();//调用函数
	var c=9;
	console.log(c);
    </script>

输出结果:

4,return关键字

顾名思义返回一个值

	<script type="text/javascript">
    function fun(){
	 return 5;
	 console.log(6);
    }
	c=fun();
	console.log(c);
    </script>

结果:可以看到只输出了一个5,因为我们函数在执行完return后就不会再执行后面的语句了。

5,表达式类型的函数
<script type="text/javascript">
   var fun=function(){
	 alert("hello boy");
    }
	fun();
    </script>

结果:

【1】值得注意的是在调用时必须要在定义好了之后才能调用,它不会把他的作用域提升到最上方

例如:

	<script type="text/javascript">
		fun();
   var fun=function(){
	 alert("hello boy");
    }
	fun();
    </script>

结果报错了:

6,回调函数(顾名思义就是自己调用自己)

例如:

	<script type="text/javascript">
    function backfun(goback){
	 goback();
    }
	backfun(function(){alert("good boy");
	})
    </script>

结果:

【1】我们这里用goback接收了function(){alert("good boy");},然后又用goback()调用回来了,这就是回调函数了。

7,递归(多次调用函数直到条件为假为止)

例如:递归实现5的阶层及5*4*3*2*1

	<script type="text/javascript">
    function fun(a){
	 if(a==1)return 1;
	 return  a*fun(a-1);
    }
	var sum=fun(5);
	console.log(sum);
    </script>

【1】值得注意的是递归要有终止条件啊,不然会死循环的。

8,IIFE立即调用函数(执行到这里时就立即调用一次)
	<script type="text/javascript">
var fun=function()
{
	console.log("这是立即调用函数");
}();
    </script>

输出结果:

第二种写法:

通过加、减、非、小括号:可以将关键字形式函数变为表达式形式的函数

例如:

	<script type="text/javascript">
  +function(a){
	 console.log(a);
 }("you")
 
 -function(b){
 	 console.log(b);
 }("are")
 
 +function(c){
 	 console.log(c);
 }("good")
 
 +function(d){
 	 console.log(d);
 }("boy")
 
    </script>

输出结果:

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佛渡有“缘”人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值