导图社区 4.JavaScript
数组用中括号进行表示,而且是引用类型数据,数据叫“元素",多个元素之间利用逗号隔开。
后渗透之meterpretermeterpreter常用命令1.基本命令2.文件系统命令3.网络命令4.键盘监听5.系统命令6.mimikatz7.网络嗅探8.获取敏感信息9.获取 Hash10.通过 Hash 获..
meterpreter是metasploit中的一个杀手锏,通常在漏洞利用成功后,会返回给攻击者一个攻击通道,其中有很多自动化操作 首先,我们使用metasploit中的另一个后门工具msfvenom生成一个木马...
第一步:终端启动MSFCONSOLE 以管理员身份运行 sudo msfconsole 出现msf提示符了,就登录成功了 第二步:寻找模块 使用search加上自己想找的模块(相当于模糊查询) 使用search命令搜索所有有效的Linux模块 search linux
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
JavaScript
函数
语法
//声明部分 function fun(){ ....书写代码地方 } //调用部分 fun();
形参与实参
函数里的是形参
调用函数是实参
注意:用户调用函数的时候,会将实参按照顺序依次赋值给形参。
变量认知
局部变量:只能在函数体中使用
作为函数形参
变量在函数体中声明
全局变量:除了局部变量以外的都是全局变量
作用域 scope
全局作用域:范围最大的两个script标签之间
经典的作用域面试题:
<script type="text/javascript"> var num = 66; console.log(num); function fun(){ console.log(num); var num = 99; } fun(); </script>
注意:作用域的提升只限定在自己的局部变量中
关键字return
函数体中如果遇见关键字return,函数体中后面语句不在执行
函数中关键字可以将计算完结果返回(函数体外部可以获取到函数返回结果)
表达式形式函数
<script type="text/javascript"> //表达式形式函数 //声明 var jch = function () { console.log("我爱你塞北的大学呀"); } jch(); jch(); </script>
可以用匿名函数,用是没有名称的函数
关键字形式函数与表达式形式函数区别
关键字形式函数
关键字形式函数可以在声明之前、声明之后调用
由于解析器,可以将关键字形式函数声明部分提升到当前作用域最上方
只能在声明之后才可以调用
由于变量声明部分提升(提升到当前作用域最上方),因此是undefined
回调函数
<script type="text/javascript"> //声明函数 function promise (a,b,callback){ callback(); //回调函数 callback(); callback(); } //下面写法出现回调函数 promise(1,"我爱你塞北的血",function(){ console.log("我执行了"); }); </script>
传递裸骑是另外一个函数声明部分,这个实参的函数即为回调函数
IIFE
IIFE:声明函数的同时立刻马上执行一次
<script type="text/javascript"> //IIFE:声明 表达式形式函数同时 立刻、马上执行一次 //表达式形式函数的 声明部分 var fun = function (){ console.log('我执行了') }(); </script>
关键字形式函数IIFE
+function(){ console.log("+号可以将关键字函数变为表达式形式函数"); }();
加、减、非、小括号:可以将关键字形式函数变为表达式函数,立即执行一次(IIFE)
第一个IIFE都有属于自己独立作用域,且相互不影响的
数组
基本使用
数组用中括号进行表示,而且是引用类型数据,数据叫“元素",多个元素之间利用逗号隔开
<script type="text/javascript"> //数组:可以存储任意类型的元素 var arr = ["吃饭","睡觉","打豆豆",true,NaN]; //读取数据:可以利用枚举法获取数组里面元素 console.log(arr[0]); console.log(arr[1]); console.log(arr[4]); console.log(arr[99]); </script>
元素索引值是从数字零开始
数组枚举元素的时候,下角标越界程序不会所错,默认返回undefined
数组属性与方法
length:获取到元素的总个数,这个没有括号
二维数组
<script type="text/javascript"> //声明一个数组 var arr = ["吃饭","睡觉","打豆豆",true,[1,2,3]]; //length属性:获取当前数组的元素总个数 console.log(arr.length); console.log(arr[0]); console.log(arr[3]); console.log(arr[4][1]); </script>
push:向数组尾处添加一个或多个元素
pop:可以在数组的尾处移除一个元素
unshift:向数组头部添加一个或者多个元素
shift:向数组头部移除一个元素
join:通过某一个字符拼接成字符串
reverse:可以将当前的数组的元素进行倒置
indexOf:返回元素的索引值
includes:返回元素是不是在元组中,如果是为真,否则为假
slice
复制出一个新的数组
至少一个,最多两个参数
包含起始的索引值元素,但是不包含结束索引值元素
splice
切割:切割出源数组中的元素,影响起始数组
插入:不切割插入一个“么么哒” var newarr=arr.splice(2,0,"么么哒");
替换:切割出2个元素,用“马老师”“李老师”替换 var newarr=arr.splice(2,2,"马老师","李老师")