深入学习javascript

函数返回值

图1

我们之前的都是没有返回值,实际上我们可以用return将函数运行的结果返回出来,return后面别忘了分号!

图2

如果不写return或者return后面跟着空的,返回的就是undefined类型


函数传参

图3

我们对参数求和,如果我们就是2个数就和,那传2个参数就可以,如果参数不固定怎么办

图4

我们传入的参数可以用arguments接收到,比如我们传入3个,显示长度为3,所以你就明白了。初始res=0,遍历过程中一直加就可以了

图5

对于css,我们传如上图2个参数是获取样式,3个参数是赋值

图6

我们可以定义一个这样的函数,当接收了3个参数和2个参数判断下,就可以实现给对象属性赋值和获取对象属性


如何取非行间样式

图7

我们之前也知道样式在行间,我们可以用标签.style.属性名获取,但如果属性再样式表定义的呢,我们可以使用currentStyle,来替代style即可,然而马上就打脸,这个这能兼容IE,其他不行

图8

我们可以按照如上图,使用getComputedStyle(a,b).属性获得,其中a参数我们传入对象,b参数据说传入什么内容都可以,这里起名getComputedStyle,是因为可能很多影响样式,计算机最终计算出来的结果,但是getComputedStyle只能支持ff,chrome浏览器

图9

我们可以在用对currentStyle判断,如果OK,则使用,否则其他浏览器,则为undefined,我们就用getComputedStyle

图10

因为浏览器设置可能很多需要兼容的地方,我们可以把获得属性封装成函数,以便我们多次使用


数组基础

我们之前var a=[1,2,3];声明一个数组

我们也可以var a=new Array(1,2,3);

两种定义效果一样

数组的长度为length属性,不过这个长度可以赋值,比如a=[1,2,3,4]

我们设置a.length=2,那么数组a就变成了[1,2],如果设置a.length=6,就会给数组添加2个undefined对象,

我们这么使用可以快速清空数组

为了防止数组混乱,建议数组最好只存一个类型的

数组添加删除

图11

push,给数组末尾加元素,shift给数组左侧添加元素

pop尾部删除,unshift给头部添加元素

图12

我们想从中间插入删除插入就要用到splice

删除splice(起始索引,删除长度)

var a=[1,2,3,4,5,6];a.splice(2,3)结果a就剩下[1,2,6]

插入splice(起始索引,删除长度一般写0,元素1,元素2...)   除了起点长度,后面的都被插入

var a=[1,2,3,4,5,6];a.splice(2,0,9,9,9)结果a就剩下[1,2,9,9,9,3,4,5,6]

当然我们也可以又删除又插入,实现替换


数组排序,转换

图13

concat数组拼接

图14

可以用如上代码体验,其中哪个在前面就是谁的concat,结果为1,2,3,4,5,6这个过程中a没有改变

join(字符串)用字符串拼接数组的内容,形成一长串字符串

图15

排序sort

图16
图17

可以看到对于字符串是按首字母优先排序,和python一样,相同则比较下一位,长的比端的靠后,

图18

如果我们的数组元素是数字呢

图19

可以看到结果并不是我们想的,所以数组的sort()方法只能按字符串排序,

我们想让他能按数字排序,怎么办呢,我们可以给sort传入一个函数,函数有2个参数,当前者大返回1,后者大返回-1,相等返回0

图20

我们这么运行后,实现了数字的排序,其实sort()函数并不关系是﹢1还是+2还是什么只要是正数,同理-1也只要是负数即可

图21

我们就sort(function(n1,n2){return n1-n2;});即可对数字排序(当然我们可以逆序,返回值变成n2-n1)

你可能感兴趣的:(深入学习javascript)