js函数总结(1)

一、输出语句

alert() 弹出框 不能识别标签
document.write() 文本输出,可以识别标签
console.log() 在控制台输出,不可以识别标签

二、数据类型

number,boolean,null,undefined,string,object,symbol

基础数据类型:
number,boolean,null,undefined,string

引用数据类型:
object(Array,Date,Math)

三、获取标签及内容

1、获取标签
var str = document.getElementById(“box”);
console.log(str);
js函数总结(1)_第1张图片

2、获取标签内容
var str = document.getElementById(“box”).innerText;(innerText 不识别标签
console.log(str);
js函数总结(1)_第2张图片

var str = document.getElementById(“box”).innerHTML; (innerHTML识别标签
console.log(str);
js函数总结(1)_第3张图片

四、算数运算符

1、算术运算符

+ - * / %

2、一元运算符

a++ : a+1 先赋值后自增
++a : a+1 先自增后赋值
a-- : a-1 先赋值后自减
–a : a-1 先自减后赋值

3、三元运算符

console.log(a+b<0 ? "正确" : "错误");
这个意思是说:如果a加b的值小于0的话就输出正确,否则话就输出错误

(条件正确就执行前一个,错误就执行后一个。相当于if语句)

4、NaN

NaN : not a number
NaN与任何数字包括自己都不相等;
NaN和任何数字运算结果都是NaN;

5、补

= 赋值
== 判断值
===判断值和类型

五、数据类型转换

数据类型转换分为:自动转换和强制转换

1、转换字符串
隐式转换 字符串+
强制转换 toString() ,String() (null和undefined 不转换)

2、转为数值
强行转换 :
parseInt() 字符串转整型
parseFloat() 字符串转浮点型
Number()

3、转为布尔类型
Boolean()
隐式转换: !!

六、代码块

代码块是在大括号{}中缩写的语句,将多条集合在一个块来使用;
* 我们一般使用代码块将需要一起执行的语句进行分组,代码块不需要加分号;
* document.getElementById(’’) 选择指定的id元素
* .value获取input框的内容

七、循环

1、switch循环

switch (数据){
case 数据1:
内容块
break
case 数据2:
default
}

例如:
js函数总结(1)_第4张图片
js函数总结(1)_第5张图片

2、while循环

var i = 0;
while(条件){
语句
自增/自减语句
}

while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,
执行完毕后再回来判断条件是否满足,如此无限重复;
直到条件不满足时,执行while循环后边的语句。
简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断
例如:求1-10的和
js函数总结(1)_第6张图片
3、for循环

for(初始表达式; 条件表达式; 自增表达式){
循环语句
}
break直接跳出循环体,结束整个循环
continue 用于结束整个循环中的一次,结束当前这次循环;
break和continue 后面的代码都不会执;

例如:求1-10的和
js函数总结(1)_第7张图片

八、函数

1、调用函数
①用点击事件去执行 onclick;
②直接在script中调用
函数,变量声明提升,只要函数或变量声明,函数和变量都可以答应;(前提是在全局中,如果是局部的话,就会报错)
js函数总结(1)_第8张图片
js函数总结(1)_第9张图片
js函数总结(1)_第10张图片
js函数总结(1)_第11张图片
(只有两个参数,只算给定前两个参数的值)
js函数总结(1)_第12张图片
js函数总结(1)_第13张图片
2、匿名函数
js函数总结(1)_第14张图片
js函数总结(1)_第15张图片
js函数总结(1)_第16张图片
js函数总结(1)_第17张图片
通过上面几个例子可以看出,当直接用fn();调用时,它会只执行函数里的内容,就算会有return存在,也不会将返回值打印出来;但当用console.log()时,它会把return值一块打印出来,放没有return值的时候,它就会打印出undefined。

3、自执行函数
在这里插入图片描述

九、对象

1、创建对象

①用new构建
js函数总结(1)_第18张图片
js函数总结(1)_第19张图片
②用字面量直接构建
js函数总结(1)_第20张图片

2、删除对象的属性和属性值
js函数总结(1)_第21张图片
(不能删除整个对象,只能是让整个对象置为空值)
js函数总结(1)_第22张图片
3、修改对象属性值
js函数总结(1)_第23张图片
4、浅拷贝与深拷贝

(注:只是原理,而不是方法)


js函数总结(1)_第24张图片

js函数总结(1)_第25张图片


js函数总结(1)_第26张图片

十、作用域

全局变量:直接在script里面声明的变量就是全局变量;
局部变量: 函数内部能改变的变量就是局部变量;

(全局无法访问局部变量;局部变量可以一层一层往上找)

js函数总结(1)_第27张图片

当没有var声明过a ,直接使用a等于的话,默认就相当于全局变量
所以它在最后输出的a中会把原先值给覆盖掉,由于在全局变量中并没有声明过b值,只是在局部中声明,所以当在局部中能够输出b值,但在全局中输出就会报错,提示b值并没有定义。
js函数总结(1)_第28张图片
当在局部重新声明a时,这个局部的a只能在局部里面调用,而对全局的这个a没有影响。

十一、字符串方法

str.length 查找字符串的长度(会把空格和符号都算上)
str.indexOf() 查找第一次出现下标(索引)的位置
str.lastIndexOf() 返回指定文本在字符串中最后一次出现的索引位置 (如果未找到就会返回-1)
str.search() 搜索特定值的字符串,并返回匹配的索引位置
******************** 提取部分字符串 ********************
str.slice(start,end) 包含前一个值,不包含后一个值;
如果是一个值就是从索引位置开始,到结束;
如果是两个值,就是从开始索引位置到结束索引位置;
如果是负值就是从结束位置开始计数 ;
(可以有负值)
str.substring() 包含前一个值,不包含后一个值;下标到下标
(没有负值)
str.substr() 类似slice:不同的是,它第二个参数是截取的长度,而slice是下标;第一个参数索引位置开始截取,第二个是截取的长度;
(可以有负值)
******************** 替换 ********************
str.replace() 用另一个值替换在字符串中指定的值只替换首个匹配, 对大小写敏感
str.toUpperCase() 把字符串全部转换成大写
str.toLowerCase() 把字符串全部转换成小写
str.concat() 连接两个或多个字符串
str.trim() 删除字符串两端的空白字符
******************** 提取字符串字符 ********************
str.charAt() 返回字符串中指定下标的字符串
str.charCodeAt() 返回指定索引unicode编码
******************** 转换 ********************
str.split() 把字符串转换为数组

js函数总结(1)_第29张图片
js函数总结(1)_第30张图片
js函数总结(1)_第31张图片
js函数总结(1)_第32张图片

十二、数组方法

数组使一种特殊类型的对象,数组中的元素与元素之间用逗号隔开;
js函数总结(1)_第33张图片
js函数总结(1)_第34张图片
js函数总结(1)_第35张图片
遍历数组

for
js函数总结(1)_第36张图片
for…in (i是下标)
js函数总结(1)_第37张图片

forEach (函数内的参数,代表数组里面具体的值)js函数总结(1)_第38张图片
for…of (key是值)
js函数总结(1)_第39张图片
添加删除

push() 从最后一个开始添加
js函数总结(1)_第40张图片
pop() 从最后一个开始删除
在这里插入图片描述
unshift() 从数组的第一个开始
在这里插入图片描述
shift() 从数组的第一个开始删除
在这里插入图片描述
排序

sort() 10以内的排序(大于10以后就会不准,默认从小到大);
js函数总结(1)_第41张图片
转换字符串

join() 把数组中的所有元素放入一个字符串,通过指定的分隔符进行分割
js函数总结(1)_第42张图片
toString() 数组转换成字符串
在这里插入图片描述
reverse() 将数组倒叙输出
在这里插入图片描述
concat() 将数组连接起来
在这里插入图片描述
切割数组

slice(start,and) 返回值是截取数组元素组成的新数组(从已有的数组中返回选定的元素)
js函数总结(1)_第43张图片
splice() 从数组中添加/删除项目,然后返回被删除的项目(会改变原始数组)
js函数总结(1)_第44张图片

十三、Date

日期也是特殊类型的对象

getFullYear() 年
getMonth() 月
getDate() 日
getDay() 周
getHours() 时
getMinutes() 分
getSeconds() 秒
js函数总结(1)_第45张图片

十四、数学方法

Math.floor() 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入
Math.random() 随机数
Math.max() 最大数
Math.min() 最小数
Math.pow(x,y) x的y次方

js函数总结(1)_第46张图片

十五、This

在方法里面,函数指的是所有者

js函数总结(1)_第47张图片
单独情况下,this指的是全局window
在这里插入图片描述
函数里面,this指的也是全局window
js函数总结(1)_第48张图片
在点击事件里面,谁调用this就指谁
getAttribute() 获取元素的属性

js函数总结(1)_第49张图片
js函数总结(1)_第50张图片

十六、call和apply

call 和 apply 是函数自带的方法
改变this指向的方法

区别:call能传多个参数,第一个是this,后面就是需要的参数;
apply只能传两个参数,第一个是this,第二个是数组

参数数量/.all,参数数量/顺序不确定的话就用apply。
考虑可读性:参数数量不多就用call,参数数量比较多的话,把参数整合成数组,使用apply。
参数合集已经是一个数组的情况,用apply。

js函数总结(1)_第51张图片

十七、let 和 const

es6的新内容

let 有块级作用域,不能重新声明已有的变量(暂时性死区),不能声明提升

js函数总结(1)_第52张图片
js函数总结(1)_第53张图片
var 和 let 的区别

js函数总结(1)_第54张图片
js函数总结(1)_第55张图片
常量

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

十八、DOM文档

找到同类标签,同样class的元素

js函数总结(1)_第56张图片
getAttribute() 获取属性名
setAttribute() 重置属性值

js函数总结(1)_第57张图片

removeAttribute() 移除属性

在这里插入图片描述
在这里插入图片描述
className 获取class标签的值

在这里插入图片描述
div创建标签 createElement()

appendChild() 添加节点到某元素下

js函数总结(1)_第58张图片
removeChild 从某节点下删除节点

js函数总结(1)_第59张图片
事件

onclick 点击事件
onmouseover 鼠标划过
onmousedown 按下鼠标
onmouseup 鼠标抬起
js函数总结(1)_第60张图片
onchange 只有input框里的内容被改变了,才会触发

js函数总结(1)_第61张图片

十九、Style

onload 页面加载结束之后再执行的事件
在这里插入图片描述
在这里插入图片描述

appendChild 添加到某元素下

js函数总结(1)_第62张图片
insertBefore(“新节点”,“已有节点”) 添加到已有节点的前面(必须要有两个参数)

js函数总结(1)_第63张图片
滚动条
clientWidth 元素的宽 = 本身的内容宽+padding(不包括滚动条)
clientHeight 元素的高
js函数总结(1)_第64张图片
js函数总结(1)_第65张图片
offsetWidth 整个元素的宽 = 本身的内容宽 + padding + border
offsetHeight 整个元素的高

js函数总结(1)_第66张图片
scrollHeight 整个元素的高 = 所有的内容高(包括滚动内容) + padding
scrollLeft 滚动条滚动的距离
scrollTop 滚动条滚动的距离

js函数总结(1)_第67张图片
js函数总结(1)_第68张图片
js函数总结(1)_第69张图片
滚动事件

滚动条到最底部的时候,确定按钮可以点击

js函数总结(1)_第70张图片
在这里插入图片描述
js函数总结(1)_第71张图片

二十、坐标

parentNode 获取父元素的节点

在这里插入图片描述
remove 删除整个节点

js函数总结(1)_第72张图片
整个红色方框是跟随鼠标进行移动的
(由于是截图显示不出来这个效果)

js函数总结(1)_第73张图片

你可能感兴趣的:(js,js)