js回顾总结

标题自动数据类型转换:

typeof输入当前的类型
在这里插入图片描述

2、任何数据除了和字符串做相加运算外,与NaN做 算数运算的结果始终都是NaN,包括NaN本 身和NaN做运算结果也为NaN。字符串如果是纯数字字符串转成数字,否则转换成NaN
代码规范:
1、注意层级缩进tab =四个空格
2、; , 后面都跟一个空格 运算符 = + 前后都应该空空格。
3、每一条语句后面都必须添加;分号
parseInt 取整
parseFloat 取浮点数 将数据类型转换成number类型
Infinity无穷大
在这里插入图片描述

逻辑运算符
&&且 ||或 !

进制转换:

十进制转二进制 :除2取余的倒数
52——110100
122+1*24+12^5 => 52

十进制转八进制/十六进制
【方式】先将十进制数转成二进制,再将二进制数转为对应的八进制或十六进制

二进制转八进制
【方式】从右到左,每三位一组,不足三位的使用0补齐,将每一组数转成十进制。
转八 110 100=> 64
转十 4*80+6*81=52

二进制转十六进制
【方式】从右到左,每四位一组,不足四位的使用0补齐,将每一组数转成十进制。
转十六 0011 0100 => 34
转十 4*160+3*161=52

三大流程控制:

1.顺序结构
2.选择结构 if(判断条件){ 执行语句1 }else{ 执行语句2 }

switch(表达式){ case 常亮1: 语句1; break; case 常亮2: 语句2; break; case 常亮3:
语句3; break; default: 如果上述语句都不成立,执行这里; break; } while循环 do…while循环
for循环

  1. while循环先判断表达式,然后去执行循环语句
  2. do…while先执行一次语句,在判断表达式

break
1.在swith语句中使流程跳出switch
2.在循环语句中跳出当前的循环 continue 只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次时候执行的判断

无参函数的声明:

【格式】 function 函数名(){ 函数体 }

函数的调用:

函数名()

有参函数的封装:

function 函数名(形参。。){ 函数体 }

arguments
[注]在每一个函数内,都有个内置的数组, 是个变量,叫做arguments。arguments可以存储当前函数传入的所有参数,而且,是通过传参的顺序,进行排列的。
return 返回函数调用结果
全局作用域

局部作用域

如果全局作用域和局部作用域变量重名,采取就近原则

递归:
在这里插入图片描述

/* 计算1加到n的和,n=100*/
function sum(n){
if(n==1{
return;
}
return sum(n-1+n;
}
alert(sum(100));

递归会使运行内存据增

可以通过document.getElementById找到符合条件的标签节点。

 window.onload = function(){
//写在这里的代码在页面加载完成后执行
}

在这里插入图片描述

常用常量来创建数组

var arr =1, true, "hello"alert(arr);
数组遍历(和for循环的结合过程)
forvar i in arr){
document.write(arr[i] + "<br />"}

Math.random() 可以随机0~1之间的任意的数

push() 【格式】数组.push(元素。。。) 功能:给数组末尾添加元素 参数:我们要添加的元素,参数个数随意 pop()
【格式】数组.pop(); 功能:移除数组末尾的最后一个元素

shift() 【格式】数组.shift(); 功能:从数组的头部取下一个元素 unshift() 【格式】数组.unshift();
功能:从数组的头部插入一个元素 concat() 【格式】数组1.concat(数组2);
功能:将俩个数组合并成一个新数组,原数组不会改变 slice() 【格式】数组.slice(start,end);
功能:基于当前数组获取制定区域元素并创建一个新的数组。原数组不改变。 splice() 可以完成删除、插入、替换操作 参数1 截取开始的下标
参数2 截取的长度 参数3 在截取的开始下标位置,要插入的元素,插入的元素的个数随意 join() 【格式】数组.join(拼接符)
功能:使用拼接符将数组中元素拼接成字符串 reverse() 逆向排序 【格式】数组.reverse(); sort()
【格式】数组.sort(); 功能:将数组中的元素升序排序 【注】sort默认是按照字符串进行排序
【要求】一般需要自己去编写排序算法,系统提供的使用较少 数组 复合数据类型/引用数据类型
【注】所有的复合数据类型都不直接储存在我们的函数中,存储在堆段
【注】函数运行的内存空间是预先分配好的,一旦被分配好了内存空间,就不能在被改变了。 【注】在堆段,我们可以想要使用内存,就随时分配多少内存

冒泡排序 和 选择排序

在这里插入图片描述

在这里插入图片描述

concat() 【格式】字符串1.concat(字符串2) 返回值:拼接成的字符串(一般使用 + ) indexOf()
【格式】字符串.indexOf(子串,开始查找的位置)
返回值:如果在字符串中查找到了子串第一次出现的位置,返回子串出现的位置,否则没有查到到返回0。 lastIndexOf()
作用:查找字符串最后一次出现的位置 search(子串/正则) 参数可以是正则表达式 replace()
【格式】字符串.replace(匹配的字符串/正则表达式,替换成的新字符串)
返回值:替换完成以后生成的新字符串(相同的字符会替换第一个),如果要替换所有的制定字符串则需要正则表达式 substring()
【格式】字符串.substring(start,end); 作用:字符串提取,在指定的范围内,提取字符串,生成新的字符串
返回值:生成新的字符串。【注】不包括结束位置的。 split() 【格式】字符串.split(分隔符,生成数组的长度)
返回值:通过分隔符,分割成装有子串的数组

在这里插入图片描述

toLowerCase()//变为全小写
toUpperCase()//变为全大写

ECMA5

严格模式
通过“use strict”来使用
写在哪个作用域下,这个作用域下所有 的代码都遵从严格模式
【注】不要轻易在全局范围开头增加“use strict”;建议在作用域中使用
forEach()

【格式】数组.forEach(function(item,index,array){
item 当前遍历到的元素
index 当前遍历到的下标
array 当前数组
}

功能:遍历数组
map 映射
在这里插入图片描述

reduce 归并
在这里插入图片描述

filter 过滤
在这里插入图片描述

some 某些在这里插入图片描述

every 跟some一样,但是要求每一项都符合,才返回true,有一项不符合就返回false
Math.round(***); //四舍五入
Math.random(); //随机0~1之间的数
Math.max(); //返回最大的数
Math.min(); //返回最小的数
Math.abs(); //返回绝对值
Math.ceil(); //向上取整
Math.floor(); //向下取整
Math.pow(x,y); //求x的y次方
Math.sqrt(); //开平方
Math.sin()/cos()/tan(); //正弦/余弦/正切
在这里插入图片描述
在这里插入图片描述

setInterval(函数,毫秒数);
setInterval(function){
//我们想要去做的代码
},毫秒数)

功能:每隔所传参数的毫秒数,就调用一次所传参数的函数。

*clearInterval()*取消定时器
参数:定时器的ID

innerHTML 标签间的所有内容
如果在innerHTML包含标签,标签会被识别,并且会解析,呈现对应的效果
在这里插入图片描述

confirm();
【功能】弹出一个带有确定的取消的警告框
prompt();
【功能】弹出一个带输入框的提示框
【参数】第一个参数:要在提示框上显示的内容。
  第二个参数:输入框内默认的值。
【返回值】点击确定:返回值是输入的内容
点击取消:返回值是null
open();
1.	要加载的URL
2.	窗口的名称或者窗口的目标
3.	一串具有特殊意义的字符串

在这里插入图片描述

opener 打开当前窗口的父窗口的window对象
在这里插入图片描述
在这里插入图片描述

使用工厂法创建对象
在这里插入图片描述

构造函数的执行过程:
在这里插入图片描述

原型对象 (相当于一个公共区域)

在这里插入图片描述

使用in检查对象中是否含有某个属性的时候,如果对象中没有而原型中有,也会返回true
//console.loge(“name un mc”)
可以使用对象的hasOwmproperty()来检查对象自身中是否含有该属性
//console.log(mc.hasOwnProperty(“age”));

在这里插入图片描述

argument是一个类数组对象,也可以通过索引来操作数据,也可以获取长度
在调用函数时,我们所传递的实参都会在argument中保存
argument.length可以获取实参的长度
有一个属性 callee,获取当前正在指向的函数对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/^a/ 匹配开头的a
/a&/
在这里插入图片描述

可以通过对象,样式名来获取样式
如果获取的样式没有设置,获取的是实际值,而不是默认值
该方法不支持ie8
通过定义函数的方法获取当前元素的样式

参数:
obj:要获取样式的元素
name 要获取的样式名
function getStyle(obj,name){
return getComputedStyle(obj,null[name];//正常浏览器可以获取

return obj.currentStyle[name];//ie8可以获取

在这里插入图片描述

}

冒泡就是事件的传递,一层层向外传。
使用.cancekBubble = ture ; 来取消冒泡

事件的委派
-将事件统一绑定给元素共同的祖先元素

addEventListener()【可以为一个函数绑定多个事件,可以按顺序一次执行】【ie8及以下不支持】
- 参数
1.	事件的字符串,不要on
2.	回调函数,当事件触发时该函数会被调用
3.	是否在捕获阶段触发事件,需要一个布尔值

在这里插入图片描述

ie8绑定多个事件.attachEvent()【倒序执行】

.setCapture()
捕获接下来一次的所有点击事件。(流氓广告的来源)

JSON.parse()
-将字符串转为对象
JSON.stringify()
-将对象转为字符串
evel()
-用于执行一串字符串形式的代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值